我在构建一个简单的 C++ 程序来测试 boost 库中的正则表达式时遇到了问题。我遇到的问题发生在链接阶段,我的知识不足以自行修复错误。
在使用正则表达式的 .cpp 程序中,我使用了以下包含行。
#include <boost/regex.hpp>
我不太了解应该使用什么命令来使用 g++ 构建程序。我尝试使用以下命令行(及其变体)来构建程序。
g++ -I/usr/include/regex -L/usr/lib -llibboost_regex main.cpp -o regex_test
其他可能相关的信息:
Operating system: Arch linux
g++ version: 4.6.2 20120120 (prerelease)
如有任何帮助,我们将不胜感激。
最佳答案
假设您已经使用 boost
安装了 Boost和 boost-libs
包裹,
- header
<boost/regex.hpp>
应该存在于/usr/include/boost/regex.hpp
.您不需要使用任何-I
自/usr/include
以来的标志应默认包含在内。 - 你不应该需要
-L
自/usr/lib
以来的标志链接时也应默认包含在内。 - 使用
-l
时与库链接的标志libfoo.so
,应删除前导的“lib”部分。
因此命令行应该是:
g++ main.cpp -o regex_test -lboost_regex
关于c++ - 在 Arch Linux 中使用 c++ Boost 正则表达式库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552258/