提问人:Orlay Garcia Duconge 提问时间:8/9/2022 最后编辑:Orlay Garcia Duconge 更新时间:8/11/2022 访问量:316
使用 CMake 构建 Apache log4cxx
Building Apache log4cxx with CMake
问:
我正在尝试在 Windows 平台上为 mingw 构建 Apache log4cxx 0.13.0
- 我使用 MSYS2 构建并安装了 apr 和 apr-util
- 我从apache存储库下载了log4cxx源代码
但是当使用 CMake 进行配置时,它会显示以下错误:
CMake Error at src/cmake/FindAPR.cmake:17 (message):
apr-1-config --includedir failed with result %1 is not a valid Win32
application
Call Stack (most recent call first):
src/cmake/FindAPR.cmake:35 (_apr_invoke)
CMakeLists.txt:44 (find_package)
答:
1赞
Brecht Sanders
8/11/2022
#1
apu-1-config
apr-util 软件包实际上是一个 *nix shell 脚本。
CMake 正在尝试直接运行,但 Windows 当然不知道如何执行它。apr-1-config
该解决方案以(及其参数)作为参数执行。sh.exe
apr-1-config
以下补丁为我解决了这个问题:
patch -ulbf src/cmake/FindAPR.cmake << EOF
@@ -10,3 +10,3 @@
execute_process(
- COMMAND \${APR_CONFIG_EXECUTABLE} \${ARGN}
+ COMMAND sh \${APR_CONFIG_EXECUTABLE} \${ARGN}
OUTPUT_VARIABLE _apr_output
EOF
patch -ulbf src/cmake/FindAPR-Util.cmake << EOF
@@ -11,3 +11,3 @@
execute_process(
- COMMAND \${APR_UTIL_CONFIG_EXECUTABLE} \${ARGN}
+ COMMAND sh \${APR_UTIL_CONFIG_EXECUTABLE} \${ARGN}
OUTPUT_VARIABLE _apr_output
EOF
我已经更新了我的 winlibs 构建脚本(主要是 MSYS2 shell 命令),因此它现在构建了最新的 Apache Log4cxx 0.13.0。除了这个问题之外,我还必须添加一些解决方法......
评论
0赞
Orlay Garcia Duconge
8/11/2022
这是我问题的正确答案。我将所有文件修补为 .wimlib,并且能够使用 CMake 配置和生成源代码。但是make命令找不到apr include路径 drive.google.com/file/d/1uGNsUOxnIGuav6bmr5_KPku6XnnYVwWO/...
1赞
Brecht Sanders
8/11/2022
我实际上在 github.com/brechtsanders/winlibs_recipes/blob/main/recipes/ 年进行了修改......因为否则就会出现搬迁问题。apr-1-config
评论
apr-1-config
PATH