我在构建一个简单的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-libs
软件包安装了Boost,
<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 regex库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9552258/