65.9K
CodeProject 正在变化。 阅读更多。
Home

GRETA - 正确在 Visual C++ 中使用正则表达式

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.12/5 (13投票s)

2006年1月3日

CPOL

3分钟阅读

viewsIcon

157815

downloadIcon

854

介绍如何在 Visual C++ 中构建 GRETA。

引言

GRETA 为您的 C++ 应用程序提供了 PERL 5 正则表达式的所有强大功能。这是 GRETA 的主页。今天,我们既不讨论正则表达式,也不讨论 GRETA 库中的模板类,因为您可以在 GRETA 主页上了解它们。在这里,我将一步步解释如何在 Visual C++ 中添加和构建 GRETA 库。

下载

从 GRETA 主页下载 GRETA 的源代码。例如:GRETA 2.6.4 for VC6,您将得到 'greta-2.6.4-vc6.zip'。或者,您可以从本网站下载。请不要下载 GRETA 的*.lib 文件(例如greta.lib 等)。您可能会在 Microsoft 提供的*.lib 文件中找到 GRETA。但greta.lib 可能不满足您的需求。它可能会导致链接错误。

用法

GRETA 库包含六个程序文件

  • regexpr2.h
  • regexpr2.cpp
  • syntax2.h
  • syntax2.cpp
  • restack.h
  • reimpl2.h

在您的工作区中为 GRETA 创建一个新的“Win32 静态库”项目

  • 步骤 1:创建一个空白工作区。例如,“Test”

  • 步骤 2:创建将使用 GRETA 的主项目。例如,“Console”类型“Main”

  • 步骤 3:创建 GRETA 项目。选择“Win32 静态库”并使其成为 Main 项目的依赖项。然后,按 OK 按钮,保持“预编译头”和“MFC 支持”未选中

  • 步骤 4:将 GRETA zip 包中的这六个程序文件复制到 GRETA 项目的目录中,并将它们添加到项目中

  • 步骤 5:将一个示例代码复制到 main() 函数中。将 #include "regexpr2.h" 更改为 #include "..\greta\regexpr2.h"。这些示例在 GRETA zip 包的 HTML 文件中。选择“Main”项目作为活动项目,然后编译并运行项目

这是您最终得到的结果

现在,我们已经成功完成了 GRETA 项目。[下载示例项目]。

如果您的项目使用 Unicode,或者您的主项目是 DLL 类型,请继续。

Unicode 版本

如果您的项目(使用 GRETA)是 Unicode 版本,您必须将 GRETA 项目设置为 Unicode 版本。例如

  • 步骤 1:为您的 GRETA 项目添加“Unicode Debug”配置

  • 步骤 2:在项目设置中,将“_UNICODE”和“UNICODE”宏添加到相应“Unicode Debug”配置的 C++ 常规预处理器定义中

  • 步骤 3:为“Main”项目以及“Release”配置重复步骤 1 和步骤 2。

您将为 GRETA 和您的主项目获得“Unicode Debug”和“Unicode Release”配置。

运行时库

在许多情况下,当您的主项目是 DLL 类型时,您必须确保 GRETA 使用与您的主项目相同的运行时库,否则您将收到链接错误。

  • 步骤 1:找出您的主项目使用的运行时库

  • 步骤 2:为 GRETA 项目选择相同的运行时库。现在,您可以成功链接。

问:为什么我们需要下载 greta.lib,以及为什么下载的 greta.lib 会产生链接错误?

答:这是因为“Unicode 版本”和“运行时库”问题。因为不知道下载的 greta.lib 是否为 Unicode 版本,也不知道下载的 greta.lib 使用哪个运行时库,所以可能会产生链接错误。

正则表达式工具

© . All rights reserved.