C++ 包含自定义c++;VisualStudio代码中的库
我试图包括GMP库,它只是下面的代码(我没有做其他事情):C++ 包含自定义c++;VisualStudio代码中的库,c++,visual-studio-code,C++,Visual Studio Code,我试图包括GMP库,它只是下面的代码(我没有做其他事情): #包括 但是,当我试图编译代码时,g++编译器出现以下错误: myCode.cpp:3:10: fatal error: gmpxx.h: No such file or directory #include <gmpxx.h> ^~~~~~~~~~~~~~~~~~~~~~ myCode.cpp:3:10:致命错误:gmpxx.h:没有这样的文件或目录 #包括 ^~~~~~~~~~~~~~~~~~~
#包括
但是,当我试图编译代码时,g++编译器出现以下错误:
myCode.cpp:3:10: fatal error: gmpxx.h: No such file or directory
#include <gmpxx.h>
^~~~~~~~~~~~~~~~~~~~~~
myCode.cpp:3:10:致命错误:gmpxx.h:没有这样的文件或目录
#包括
^~~~~~~~~~~~~~~~~~~~~~
我已经尝试了我在网上搜索的所有东西,到处放GMP库,在c_cpp_properties.json中添加无限includepaths,但它仍然显示消息,尽管我可以通过“转到定义”选项找到文件
是否有任何已知的解决方案?仅配置VS代码包含是不够的,您还需要将这些选项传递给编译器 你根本没有提到你的平台,所以我要用我个人电脑的一个例子,一个带有fmt库的MacBookPro 当使用fmt库编译时,我必须为编译器提供另外三个选项
-I/usr/local/include//告诉编译器在哪里查找额外的include
-L/usr/local/lib//告诉编译器在哪里查找额外的库
-lfmt//fmt特定命令以使用fmt库
因此,完整命令的结果如下所示:
g++-Wall-std=c++17-I/user/local/include-L/usr/local/lib-lfmt main.cpp
我需要这三个选项,因为fmt安装在非标准位置,默认情况下编译器不会检查该位置。根据,如果您将库安装在标准位置(我想,默认情况下使用*nix和包管理器),则只需-lgmp
和-lgmpxx
即可
如果你在VS代码中使用构建任务,这可以为你设置和自动执行。你的编译命令是什么?
g++myCode.cpp
,如果这就是你所说的。请看这里:本质上,试试:g++mycxxprog.cc-lgmpxx-lgmp
好的,阅读文档我意识到我是在“非标准”操作中安装它的,它说我需要使用“-I”和“-L”编译器选项。谁能解释一下这些是什么?
myCode.cpp:3:10: fatal error: gmpxx.h: No such file or directory
#include <gmpxx.h>
^~~~~~~~~~~~~~~~~~~~~~