我正在尝试包含
gmpxx.h
以在我的代码中使用。
编译后才抛出这个错误:
gmpxx.h:没有这样的文件或目录 |海湾合作委员会
我使用 MSYS 安装了 GMP,从外观来看,它确实有效,因为我在包含文件夹中看到了 GMP 标头。
我按照错误的要求添加了 C/C++ 配置的包含路径,例如:
请更新您的 includePath
无论如何,我想写一个更新,因为我设法让它工作。 (有点)
所以我有点怀疑问题出在编译器上。
问题是它使用了我之前安装的 mingw 中的另一个编译器,而 msys 中的 mingw 没有 gcc,这就是为什么将其添加到环境变量时没有任何反应。
解决这个问题的基本上是这样的:
(我这样做是基于我的怀疑:https://superuser.com/questions/1718287/cannot-find-g-after-msys2-install)
打开控制面板>>系统和安全>>系统>>高级系统设置>>环境变量并设置
将不带引号的“C:\msys64\mingw64 in”添加到变量中,并确保其位于其他编译器路径的顶部。
现在我要说的原因是:
我通过终端使用“g++ -o test3.exe test3.cpp -LC:\msys64\mingw64\lib -LC:\msys64\mingw64\lib -lgmpxx -lgmp”制作.exe文件,目前它工作得很好,它使用了库和所有内容,并且代码正常工作。
现在只需运行代码,我就会在输出中收到错误,因为它无法识别这些库中的所有这些术语(“对插入术语的未定义引用”)。我再次认为它的设置问题,我只需要找出哪些设置,但至少它在某种程度上有效,而且老实说它已经足够好了。以前,在修复之前,运行命令给了我相同的错误,但我可以看到编译器的路径不同,现在编译器路径似乎是正确的,只是具有相同的未定义引用错误。
至于扩展,我有“c/c++”、“c/c++ 扩展包”、“c/c++ 运行程序”和“代码运行程序”。其中之一可能会以某种方式干扰它,我只需要揭露罪魁祸首史酷比风格。
无论如何,如果根据此信息您知道需要做什么,你们仍然可以提供建议。