“gmpxx.h:没有这样的文件或目录 | gcc”在 Visual Studio 代码中,c++

问题描述 投票:0回答:1

所以我试图以某种方式包含 gmpxx.h 以在我的代码中使用。

唯一的问题是它在编译后抛出错误:“gmpxx.h:没有这样的文件或目录| gcc”。

我使用 msys 安装了 gmp,从它的外观来看,它确实有效,因为我在包含文件夹中看到了 gmp 标头。

有什么建议吗?

我遵循了本教程:https://www.youtube.com/watch?v=xqUCz0Mt0Mo

我唯一可以告诉你的是,我添加了额外的步骤,即按照错误的要求将包含路径添加到 c/c++ 配置(例如“请更新你的 includePath”)。

c++ visual-studio-code gmp
1个回答
0
投票

无论如何,我想写一个更新,因为我设法让它工作。 (有点)

所以我有点怀疑问题出在编译器上。

问题是它使用了我之前安装的 mingw 中的另一个编译器,而 msys 中的 mingw 没有 gcc,这就是为什么将其添加到环境变量时没有任何反应。

解决这个问题的基本上是这样的:

  1. 打开MSYS并输入以下命令: pacman -S --需要基础开发 mingw-w64-x86_64-toolchain

(我这样做是基于我的怀疑:https://superuser.com/questions/1718287/cannot-find-g-after-msys2-install

  1. 打开控制面板>>系统和安全>>系统>>高级系统设置>>环境变量并设置

  2. 将不带引号的“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++ 运行程序”和“代码运行程序”。其中之一可能会以某种方式干扰它,我只需要揭露罪魁祸首史酷比风格。

无论如何,如果根据此信息您知道需要做什么,你们仍然可以提供建议。

© www.soinside.com 2019 - 2024. All rights reserved.