[英]Installing Boost libraries with MinGW and CodeBlocks
我正在第一时间使用Boost库,我选择了一个名叫Regex的漂亮女孩。
我已经在我的机器上安装了库(自动构建?),但是我收到了上述错误(找不到-lboost_regex
)。 我正在使用Code :: Blocks with MinGW和C ++ 0X编译器标志。
我有
-lboost_regex
标志 但没有运气。 有人可以帮我搞定吗?
更新
现在好起来了。 对于这个问题的新手,我在下面的答案中添加了一些进一步的注释。
(另外,改变了问题的标题,因为它比我刚开始时更广泛。)
从我的第一次构建体验开始,这里有一些可以帮助新手的链接和提示。 我直接从zip文件构建了库。 我在MinGW上构建,我使用CodeBlocks作为IDE。
$boostdir
)
b2.exe
和bjam.exe
$boostdir/tools/build/v2/engine
build.bat mingw
(将构建b2.exe
和bjam.exe
)
b2
和bjam
。 导航回$boostdir
并准备开始构建库。
bin.v2
目录。 bin.v2
。 b2 toolset=gcc --build-type=complete
现在你们都建成了。 是时候设置CodeBlock了。
$boostdir
地址 $boostdir
的stage\\lib\\
目录
C:\\Program Files\\Boost_1_52\\stage\\lib\\libboost_regex-mgw44-1_52.dll
blah\\blah\\blah\\stage\\lib\\
) -lboost_regex-mgw44-1_52
进一步的文档可能会有所帮助或混淆:
Code :: Blocks网站有一个版本,直到我的搜索结束时才找到。 这很有帮助,但有一些奇怪的事情。 这篇文章也很有帮助。
祝好运!
我不确定你自动构建的是什么意思。 大多数Boost库只是头文件,但需要将一些文件(如正则表达式)编译为共享/静态库。 编译步骤不是自动的,您需要调用Boost构建系统( bjam
)来执行此操作。 当然,有源(例如BoostPro)为各种平台分发预构建的Boost二进制文件。
完成后,您需要将库所在的路径添加到链接器的搜索路径中。 对于MinGW,此选项为-L"path/to/library"
。 Boost确实有指令允许自动链接所需的库,这似乎与MSVC很好地工作,但我从来没有让它与MinGW一起工作。 因此,您还必须列出要明确链接的库。 Boost库默认包含文件名中的目标和版本信息,因此对于MinGW gcc 4.7和Boost 1.51,典型的链接器命令行选项看起来像-lboost_regex-mgw47-mt-1_51
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.