【问题标题】:Visual C++ 2012 and PCREVisual C++ 2012 和 PCRE
【发布时间】:2023-04-03 11:30:01
【问题描述】:

我是 C++ 新手,但我需要在我的项目中使用 PCRE 库。我已经从this page 下载了适用于 Windows 的 PCRE 8.20。现在我如何告诉 Visual Studio 库在哪里以便 #include <pcre.h> 可以工作?

我知道 C++ 已经有 <regex> 库,但是 ECMAScript 正则表达式对我来说限制太多(例如,没有所有格量词)。

【问题讨论】:

  • 在你的项目目录下?
  • 不,别处。由于它是外部库,所有项目的一份副本就足够了,对吧?我只需要添加一些 .lib/.dll/.h 文件的路径,不是吗?还是应该将其中一些复制到我的项目中?

标签: c++ regex visual-studio visual-c++ pcre


【解决方案1】:

您是否在附加包含文件夹列表中添加了 pcre 包含路径(同上库路径)? 如果没有看到 here 获得额外的包含文件夹,看到 here 获得额外的库文件夹

【讨论】:

  • 谢谢,这行得通。或至少部分。要使用 pcrecpp::RE 类 I probably need 也包含 pcrecpp.h 文件,但它不在 inc 文件夹中,仅在 src 文件夹中。无论如何我都试图包含它,但它还想包含我在任何地方都找不到的 pcrecpparg.h 文件。我可能不应该从 src 文件夹中包含 pcrecpp.h,那么我还能做些什么来获取 pcrecpp::RE 类?
  • 这个构建(windows 的pcre)相当混乱。我担心你必须包含pcre/src 文件夹才能使用c++ 包装器。你有一个pcrecpparg。 h.in,您可以在 src 文件夹中重命名为 pcrecpparg.h。 .h.in 文件通常在配置/构建期间生成 .h,但此版本并非如此。考虑在未来构建您自己的副本,因为此构建似乎不是很严重
  • 我也希望在库中编译 cpp 包装器......如果没有(如果你得到未解决的依赖项)你可能还需要将 pcrecpp.h/.cpp 添加到你的项目中。跨度>
  • 这就是问题所在——不是。将 .h.in 重命名为 .h 只会导致另一个错误。我修复了它们,然后又出现了不同的错误等等。解决方案可能是编译 pcrecpp.lib 但这超出了我的范围。 :-(
  • 将包含 pcrecp.h 和 pcrecpp.cpp 后遇到的错误发布到您的解决方案中。我们会尽力提供帮助。一步一步:)
【解决方案2】:

我查看了 zip 文件。将所有内容复制到您的解决方案资源管理器中,然后在添加 pcre.h 时将其添加为 inc/pcre.h 这应该可以。

【讨论】:

    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多