VScode配置boost遇到的问题

一、VScode配置boost库 遇到的问题和解决方法

装boost库是为了用其中的Boost Graph Library

1、windows预处理文件点击无反应

如下图在官网(https://www.boost.org/users/download/)下载boost库文件解压后得到的文件夹win在两种这里插入图片描述
win下两种格式的压缩包都行在这里插入图片描述
booststrap.bat文件我双击无法运行,看有评论说需要安装visual studio之后就能正常运行了,我装完VS之后果然可以正常运行了;
在这里插入图片描述

然后在boost文件夹下启动cmd,执行 “.\b2.exe toolset=gcc”;
运行完成之后生成bin.v2和stage两个文件夹;
然后需要进行两个移动文件的操作:
(1)、将boost文件夹下的staget文件夹下的lib文件夹下的库放到mingw的文件夹下x86_64-w64-mingw32的文件夹下的lib文件夹内。
我的目录就是从”D:\Software\cpp_package\boost_1_85_0\stage\lib”复制到”D:\Software\mingw64\x86_64-w64-mingw32\lib”。
(2)、把boost文件夹下拷贝到x86_64-w64-mingw32的include文件夹下,也就是从”D:\Software\cpp_package\boost_1_85_0”拷贝到“D:\Software\mingw64\x86_64-w64-mingw32\include”。

2、VScode运行显示找不到boost包

完成之后我在VS里运行下列示例代码已经可以运行了,但vscode仍然出错

#include <iostream>
#include <vector>
#include <limits>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/graph_utility.hpp>

using namespace boost;

// 定义图的类型
typedef adjacency_list<vecS, vecS, undirectedS, no_property, property<edge_weight_t, double>> Graph;
typedef graph_traits<Graph>::vertex_descriptor Vertex;
typedef graph_traits<Graph>::edge_descriptor Edge;


int main() {
	Graph test_graph;
    // 添加节点和边及其权重
    add_edge(0, 1, 1.0, test_graph);
    add_edge(0, 2, 2.0, test_graph);
    add_edge(1, 2, 3.0, test_graph);
    add_edge(1, 3, 4.0, test_graph);
    add_edge(2, 3, 5.0, test_graph);
    add_edge(2, 4, 6.0, test_graph);
    add_edge(3, 4, 7.0, test_graph);

    // 打印图的边和权重
    property_map<Graph, edge_weight_t>::type weightmap = get(edge_weight, test_graph);
    for (auto e : make_iterator_range(edges(test_graph))) {
        std::cout << "Edge: (" << source(e, test_graph) << ", " << target(e, test_graph) << ") "
            << "Weight: " << weightmap[e] << std::endl;
    }

    return 0;

}

在这里插入图片描述
VScode仍然出错,需要在tasks.json文件中args下添加boost的路径,则vscode也可以正确运行了。

"args": [
                //boost包含路径
                "-I",
                "D:\\Software\\cpp_package\\boost_1_85_0",

            ],
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值