在 Code::blocks 中使用 Boost 时出现问题

问题描述 投票:0回答:1

我正在尝试使用 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++”。有谁知道我做错了什么?

干杯。

c++ boost global-variables codeblocks
1个回答
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)
替换为 Boost 库的实际路径。

© www.soinside.com 2019 - 2024. All rights reserved.