我正在尝试构建Apache平台中的log4cxx 0.13.0
但是,在使用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)
发布于 2022-08-10 17:52:24
apr-util包的apu-1-config
实际上是一个*nix脚本。
CMake试图直接运行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 0.13.0。除了这个问题,我还得补充几个解决办法.
https://stackoverflow.com/questions/73293422
复制相似问题