Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 包含自定义c++;VisualStudio代码中的库_C++_Visual Studio Code - Fatal编程技术网

C++ 包含自定义c++;VisualStudio代码中的库

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:没有这样的文件或目录 #包括 ^~~~~~~~~~~~~~~~~~~

我试图包括GMP库,它只是下面的代码(我没有做其他事情):

#包括
但是,当我试图编译代码时,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>
          ^~~~~~~~~~~~~~~~~~~~~~