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

时间:2011-08-22 21:58:43

标签: c++ boost compiler-construction global-variables codeblocks

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

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

我还修改了构建选项下的链接器设置,并添加了一个链接库'$(#boost.lib)'。为了测试提升,我已经将#include放在我的项目中,而根本没有使用include。但是,该项目没有构建(它当然是在放入#include之前构建的)并且我得到了一个源自“ld.exe”的构建错误,其中写着“找不到-l-lstdc ++”。有谁知道我做错了什么?

干杯。

1 个答案:

答案 0 :(得分:0)

您收到的错误表示无法找到-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.lib),或尝试将{{1}}替换为Boost库的实际路径。