c++ - 在 Arch Linux 中使用 c++ Boost 正则表达式库

标签 c++ regex boost g++

我在构建一个简单的 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包裹,

  1. header <boost/regex.hpp>应该存在于 /usr/include/boost/regex.hpp .您不需要使用任何 -I/usr/include 以来的标志应默认包含在内。
  2. 你不应该需要 -L/usr/lib以来的标志链接时也应默认包含在内。
  3. 使用 -l 时与库链接的标志 libfoo.so ,应删除前导的“lib”部分。

因此命令行应该是:

g++ main.cpp -o regex_test -lboost_regex

关于c++ - 在 Arch Linux 中使用 c++ Boost 正则表达式库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552258/

相关文章:

c++ - 使用 boost MPL 或类似工具执行此迭代器过滤器的任何方式

c++ - 在类对象上 boost shared_ptr

c++ - 用cmake分离googletest测试用例

c++ - 上交所加成产生垃圾

javascript - 逗号分隔的电话号码验证

处理字符串的 Java 正则表达式包含下一行

c++ - rpc 服务器 C++ Linux 服务器和 Windows 客户端

c++ - 广义 lambda 捕获的宏

python - 在 url 调度中存储 bool 变量

c++ - boost 优先级队列,查看元素是否已经在队列中