You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows平台下使用CMake构建Apache log4cxx 0.13.0时遇APR相关错误求助

解决MinGW构建log4cxx 0.13.0时CMake识别APR失败的问题

看起来你遇到的问题是CMake调用apr-1-config脚本时的环境兼容问题——apr-1-config是MSYS2环境下的shell脚本,如果你在Windows原生的cmd或PowerShell里运行CMake,系统会把它当成Win32应用执行,自然就抛出了%1 is not a valid Win32 application的错误。

下面是具体的解决步骤:

1. 切换到MSYS2终端执行CMake

首先打开对应的MSYS2终端(比如你装的是64位MinGW就打开MinGW64.exe),确保终端环境能正常访问APR工具。然后在log4cxx源码目录下创建build目录并进入:

mkdir build && cd build

接着用MinGW专属的生成器运行CMake:

cmake .. -G "MinGW Makefiles"

如果你的APR是手动编译安装(而非通过MSYS2的pacman包管理器安装),需要手动指定APR的安装根目录:

cmake .. -G "MinGW Makefiles" -DAPR_ROOT=/your/apr/install/path

替换/your/apr/install/path为你实际的APR安装路径,比如/usr/local或自定义目录。

2. 先验证APR脚本的可用性

在MSYS2终端里先手动执行:

apr-1-config --includedir

如果能正常输出APR的头文件目录,说明APR环境配置正常,再运行CMake就不会报错。如果这个命令也失败,你需要检查:

  • APR是否是MinGW版本(而非MSYS版本)
  • APR的bin目录是否在MSYS2的PATH环境变量中

3. 手动指定APR路径(若CMake仍无法识别)

如果上面的步骤无效,可以直接给CMake指定APR的头文件和库文件路径:

cmake .. -G "MinGW Makefiles" \
  -DAPR_INCLUDE_DIR=/path/to/apr/include \
  -DAPR_LIBRARY=/path/to/apr/lib/libapr-1.dll.a

替换路径为你实际的APR文件路径即可。

按照这个流程操作,应该就能让CMake正确识别APR,顺利完成log4cxx的配置步骤了。

内容的提问来源于stack exchange,提问作者Orlay Garcia Duconge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 17:17:54