15

如何为 Windows 构建 Google RE2?有人试过吗?

4

5 回答 5

12

我在http://code.google.com/p/re2win提供了一个 fork,您可以将源下载为 .zip 文件并打开该.vcproj文件并在“发布”模式下编译。

于 2011-10-01T05:35:08.653 回答
4

更新:找到了一个可能会或可能不会更好的 Windows 项目:https ://code.google.com/p/re2win/

旧答案(非 MSVC):https ://groups.google.com/group/re2-dev/browse_thread/thread/0665d7e6693b4adb/54bae4e315a484e3

于 2011-05-05T12:46:09.883 回答
1

我敢打赌它会使用Cygwin轻松构建。

于 2011-04-30T01:44:50.097 回答
0

自 2015 年 9 月起,CMakeLists.txt 已添加到 RE2 存储库。所以现在您可以使用CMake为 Visual Studio 生成文件,然后像普通的 Visual Studio 项目一样构建。我编写了一个简单的分步教程,介绍如何在 Windows 的 C++ 项目中构建和集成 RE2。针对 VS 13 和 15 进行了测试。

于 2017-01-03T17:42:49.277 回答
0

您可以通过 Bazel 构建工具https://bazel.build/使用 Microsoft Visual Studio 构建 RE2 for Windows

  1. 通过以下方式获取最新版本的 RE2git clone https://github.com/google/re2.git
  2. 在https://github.com/bazelbuild/bazel/releases下载 Bazel Windows 二进制文件(向下滚动并查找 .exe 文件)
  3. 将 Bazel 二进制文件放在 RE2 的根目录中,或者将带有 Bazel 二进制文件的目录添加到 %PATH%。
  4. 从开始菜单运行 Visual Studio 命令提示符,例如“x64 Native Tools 命令提示符”
  5. 在命令提示符下,转到您的 RE2 根文件夹,例如cd c:\gitrepos\re2
  6. bazel.exe build :all
  7. Bazel 将创建子目录bazel-bin, bazel-out, bazel-re2, bazel-testlogs
  8. 您将在以下位置找到已编译的 RE2 二进制文件,即库和测试程序(.lib、.pdb、.exe)bazel-bin
  9. 或者,您可以运行测试程序,例如regexp_benchmark.exe. 你会看到这样的输出:
Search_Easy0_CachedDFA/8    10000000           105 ns/op      75.71 MB/s
Search_Easy0_CachedDFA/16   20000000           107 ns/op     148.31 MB/s
Search_Easy0_CachedDFA/32   20000000           121 ns/op     262.31 MB/s
Search_Easy0_CachedDFA/64   20000000           122 ns/op     523.80 MB/s
Search_Easy0_CachedDFA/128  20000000           120 ns/op    1061.91 MB/s
Search_Easy0_CachedDFA/256  20000000           122 ns/op    2081.69 MB/s
Search_Easy0_CachedDFA/512  10000000           185 ns/op    2760.31 MB/s
Search_Easy0_CachedDFA/1K   10000000           270 ns/op    3786.29 MB/s
Search_Easy0_CachedDFA/2K    5000000           409 ns/op    4995.25 MB/s
Search_Easy0_CachedDFA/4K    5000000           573 ns/op    7143.45 MB/s
Search_Easy0_CachedDFA/8K    1000000          1144 ns/op    7159.05 MB/s
Search_Easy0_CachedDFA/16K   1000000          1887 ns/op    8680.17 MB/s
Search_Easy0_CachedDFA/32K    500000          3620 ns/op    9049.65 MB/s
Search_Easy0_CachedDFA/64K    500000          7411 ns/op    8842.68 MB/s

etc...
于 2021-05-11T10:46:45.953 回答