gpt4 book ai didi

c++ - 如何为 Visual Studio 代码设置 boost

转载 作者:行者123 更新时间:2023-12-02 10:29:56 26 4
gpt4 key购买 nike

所以我基本上构建了整个boost库并将它们放在C:\boost\include\boost-1_73中。但我觉得在使用这个库之前我必须包含更多步骤。我一直遵循本指南,直到为 visual studio code 设置它。所以现在我正在互联网上搜索如何设置它。这是我遵循的指南。但是我没有像指南中那样将它包含在 program_files 目录中。

https://gist.github.com/sim642/29caef3cc8afaa273ce6

在我的 Task.Json 中有

{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file",
"command": "C:\\new\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe",
"args": [
"-g",
"${fileDirname}\\**.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

在我的主要 settings.json 中有

{
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"code-runner.saveFileBeforeRun": true,
"code-runner.saveAllFilesBeforeRun": true,
"code-runner.fileDirectoryAsCwd": true,
"code-runner.ignoreSelection": true,
"haskelly.exec.reuseTerminal": true,
"C_Cpp.updateChannel": "Insiders",
"r.rterm.windows": "C:\\Program Files\\R\\R-3.6.1\\bin\\R",
"vsicons.dontShowNewVersionMessage": true,
"files.autoSave": "onWindowChange",
"workbench.colorCustomizations": {},
"editor.tokenColorCustomizations": null,
"php.validate.executablePath": "",
"code-runner.executorMap": {
"cpp": "cd $dir && g++ *.cpp -o $fileNameWithoutExt -I C:/boost/include/boost-1_73 -L C:/boost/lib && $fileNameWithoutExt.exe"

},
"code-runner.executorMapByFileExtension": {},
"cmake.configureOnOpen": true,
"explorer.confirmDelete": false,
"editor.formatOnSave": true,
"workbench.statusBar.visible": true,
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "Better Solarized Light",
"code-runner.clearPreviousOutput": true,
"code-runner.runInTerminal": true,
"C_Cpp.loggingLevel": "Debug",
"explorer.sortOrder": "type",
"C_Cpp.default.forcedInclude": [],
"C_Cpp.default.includePath": [
"C:\\boost\\include\\boost-1_73",
],
}

我将如何包含链接器(我什至要包含链接器吗?)或者我是否正确地完成了这一切?我需要在 Task 中包含 boost 路径吗?在我看来,我唯一做的就是将它包含在智能感知中,现在我对如何使用它有点迷茫。非常感谢您的帮助。

编辑我修改了以下代码并创建了一个 CPP 文件来测试 lambda 头文件

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;

std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " ");
}

显然文件不存在:

fatal error: boost/lambda/lambda.hpp: No such file or directory
#include <boost/lambda/lambda.hpp>

请注意,我正在使用 visual studio code runner 扩展运行所有内容。

最佳答案

Boost 的某些部分仅包含 header ,某些部分应链接。

您应该为编译器(将 -I 添加到 tasks.jsons 中的 args)和 IntelliSense(在 settings.json)。如果您不使用 Boost 的非 header-only 部分,那基本上就是您所需要的。否则,您必须在 tasks.json 中添加 -l-L 选项以指定要链接到哪些 Boost 库以及链接到哪里找到他们。

如果g++ 由某个扩展程序运行,您应该添加-I-L-l那里也有选项。

关于c++ - 如何为 Visual Studio 代码设置 boost ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62626610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com