编译VC++解决方案遇Log4CplusUD依赖缺失及构建失败求助
解决Windows下编译Log4CPlus 2.1.1生成log4cplusUD.dll的问题
一、放弃使用configure脚本(Windows环境不适用)
- Log4CPlus的
configure是类Unix系统专属的构建脚本,Windows原生CMD/PowerShell无法直接执行,修改为批处理也无法兼容,直接跳过该步骤。
二、通过VC++项目文件直接构建目标DLL
Log4CPlus 2.1.1源码包内置了Windows平台的VC++项目文件,步骤如下:
- 解压Log4CPlus 2.1.1源码,进入根目录下的
msvc文件夹 - 打开该目录下的
log4cplus.sln解决方案文件(若使用VS2019及以上版本,按提示完成项目升级即可) - 进行关键配置并编译:
- 选择与你的VC++项目一致的架构(x86/x64)和配置(Debug/Release)
- 在解决方案中找到
log4cplusUD项目(UD对应Unicode Debug版本,匹配你缺失的DLL标识) - 右键该项目选择「生成」,编译完成后,
log4cplusUD.dll会生成在msvc\Win32\Debug(x64架构对应msvc\x64\Debug)目录下,同时会生成对应的log4cplusUD.lib文件
三、配置你的VC++项目依赖
- 将生成的
log4cplusUD.dll复制到项目的输出目录(或添加到系统PATH环境变量中) - 在项目属性的「链接器->附加库目录」中,添加Log4CPlus编译生成的lib文件所在路径
- 在「链接器->输入->附加依赖项」中,添加
log4cplusUD.lib
四、关键注意事项
- 确保Log4CPlus的编译架构、字符集(Unicode)、运行库选项(如MTd/MDd)与你的VC++项目完全一致,否则会出现链接错误
- 若不确定原项目使用的Log4CPlus版本,可先用2.1.1版本构建测试;若出现兼容性问题,需查找原项目对应的版本源码重新构建
内容的提问来源于stack exchange,提问作者Justin Mackinnon
相关产品推荐
相关产品推荐

