使用CMake创建的Visual Studio 2017项目构建时出现MSB3073错误求助
解决CMake生成VS2017项目时MSB3073构建错误的方法
这个错误大多是CMake生成的构建命令执行出了问题,咱们一步步来排查解决:
1. 优先修正路径拼写错误
看错误日志里的CMake路径:"D:\pograml files\Cmake\bin\cmake.exe",你把Program拼成pograml了!这会直接导致系统找不到CMake程序,命令自然执行失败。
- 赶紧把路径改成正确的,比如
D:\Program Files\CMake\bin\cmake.exe,然后重新运行CMake配置生成VS项目。
2. 处理路径中的空格问题
你的项目路径里有framework full这种带空格的文件夹名称,很容易让命令解析混乱。
- 最省心的办法是把带空格的文件夹改名,比如改成
framework_full,之后重新用CMake生成项目。 - 如果不想改路径,要确保CMake生成的命令里所有带空格的路径都被双引号正确包裹,但手动调整不如直接换无空格路径靠谱。
3. 检查cmake_autogen命令的完整性
错误日志里的命令被截断了,完整的cmake_autogen命令应该是处理自动生成文件(比如Qt项目的moc文件)的,但现在只显示到...。
- 打开VS项目里对应的自定义构建脚本,查看完整命令内容,看看是不是路径太长或者语法有问题。
- 也可以手动在命令行里执行完整的
cmake_autogen命令,直接看具体哪一步报错,定位更精准。
4. 清理缓存后重建
有时候旧的缓存文件会搞出奇怪的问题:
- 删除VS项目所在的
bin目录(也就是你生成项目的文件夹),重新运行CMake生成全新的VS项目。 - 在VS里先选择「清理解决方案」,再执行「生成解决方案」,避免旧缓存干扰。
内容的提问来源于stack exchange,提问作者rednefed
相关产品推荐
相关产品推荐

