我正在尝试使用 Boost 库配置 Code::Blocks(在 Windows 上运行,使用 MinGW)。我已经构建了库并将所有内容安装到 C:\Program Files oost_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.lib)
替换为 Boost 库的实际路径。