在Code::块中使用Boost的问题

Problem using Boost in Code::blocks

本文关键字:Boost 问题 Code      更新时间:2023-10-16

我正在尝试配置Code::Blocks(在Windows上运行,使用MinGW)与Boost库。我已经构建了库,并将所有内容安装到C:Program Files boost_1_47_0。

在Code::Blocks本身中,我创建了一个全局变量,它使用两个内置字段,'base'和'include',它们都指向boost安装路径。

我还修改了构建选项下的链接器设置,并添加了一个链接库'$(#boost.lib)'。为了测试boost,我把#include放在了我的项目中,实际上根本没有使用include。然而,该项目没有构建(它当然在将#include放入之前构建),我得到一个来自"ld.exe"的构建错误,其中说"找不到-l-lstdc++"。有人知道我哪里做错了吗?

欢呼。

你得到的错误说它找不到-l-lstdc++;链接库设置错误。

如果您尝试在命令行上编译一个简单的c++(非boost)应用程序,并键入:

g++ main.cpp -o main.o -l-lstdc++

你会得到与Code::Blocks:

相同的错误
/usr/bin/ld: cannot find -l-lstdc++

这是因为你的库名被指定为-lstdc++,而它应该只是stdc++而不是-l。(-l是一个标志,用于告诉编译器下一个单词是库的名称。)

检查链接库设置是否有额外的-l,或者尝试用Boost库的实际路径替换$(#boost.lib)