博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CMake生成VS2013项目失败的解决办法
阅读量:2392 次
发布时间:2019-05-10

本文共 5068 字,大约阅读时间需要 16 分钟。

原文地址:

在使用CMake生成一个VS2013项目时,遇到如下内容的错误信息:

————————————————分割线———————————————————

The C compiler identification is MSVC 18.0.21005.1

The CXX compiler identification is MSVC 18.0.21005.1

Check for working C compiler using: Visual Studio 12 2013

Check for working C compiler using: Visual Studio 12 2013 -- broken

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.1/Modules/CMakeTestCCompiler.cmake:61 (message):

The C compiler "C:/Program Files (x86)/Microsoft Visual Studio
12.0/VC/bin/cl.exe" is not able to compile a simple test program.
It fails with the following output:
Change Dir: E:/硕士/实验室事务/无人机项目/无人机视觉/目标跟踪/AR Drone2.0开源项目/开发资料/目标跟踪/KCF/kcf-移植/C++版本/SRT(C++)/build/CMakeFiles/CMakeTmp
Run Build Command:"C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe"
"cmTryCompileExec3720408510.vcxproj" "/p:Configuration=Debug"
"/p:VisualStudioVersion=12.0"
Microsoft(R) 生成引擎版本 12.0.21005.1

[Microsoft .NET Framework 版本 4.0.30319.34209]

版权所有 (C) Microsoft Corporation。保留所有权利。

生成启动时间为 2015/7/24 14:09:11。

节点 1 上的项目“E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR
Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\cmTryCompileExec3720408510.vcxproj”(默认目标)。

PrepareForBuild:

正在创建目录“cmTryCompileExec3720408510.dir\Debug\”。

正在创建目录“E:\??ê?\êμ?éêòê???\?Tè??ú????\?Tè??úêó??\??±ê?ú×ù\AR Drone2.0?a?′????\?a·¢×êá?\??±ê?ú×ù\KCF\kcf-ò??2\C++°?±?\SRT(C++)\build\CMakeFiles\CMakeTmp\Debug\”。

正在创建目录“cmTryCompileExec3720408510.dir\Debug\cmTryCom.7242CB77.tlog\”。

InitializeBuildStatus:

正在创建“cmTryCompileExec3720408510.dir\Debug\cmTryCom.7242CB77.tlog\unsuccessfulbuild”,因为已指定“AlwaysCreate”。

MakeDirsForCl:

正在创建目录“E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\Debug”。

ClCompile:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec3720408510.dir\Debug\\" /Fd"cmTryCompileExec3720408510.dir\Debug\vc120.pdb" /Gd /TC /analyze- /errorReport:queue "E:\??ê?\êμ?éêòê???\?Tè??ú????\?Tè??úêó??\??±ê?ú×ù\AR Drone2.0?a?′????\?a·¢×êá?\??±ê?ú×ù\KCF\kcf-ò??2\C++°?±?\SRT(C++)\build\CMakeFiles\CMakeTmp\testCCompiler.c"

用于 x86 的 Microsoft (R) C/C++ 优化编译器 18.00.21005.1 版版权所有(C) Microsoft Corporation。 保留所有权利。

cl /c /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec3720408510.dir\Debug\\" /Fd"cmTryCompileExec3720408510.dir\Debug\vc120.pdb" /Gd /TC /analyze- /errorReport:queue "E:\??ê?\êμ?éêòê???\?Tè??ú????\?Tè??úêó??\??±ê?ú×ù\AR Drone2.0?a?′????\?a·¢×êá?\??±ê?ú×ù\KCF\kcf-ò??2\C++°?±?\SRT(C++)\build\CMakeFiles\CMakeTmp\testCCompiler.c"

testCCompiler.c

c1 : fatal error C1083: 无法打开源文件:
“E:\??ê?\êμ?éêòê???\?Tè??ú????\?Tè??úêó??\??±ê?ú×ù\AR
Drone2.0?a?′????\?a·¢×êá?\??±ê?ú×ù\KCF\kcf-ò??2\C++°?±?\SRT(C++)\build\CMakeFiles\CMakeTmp\testCCompiler.c”:
No such file or directory
[E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR
Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\cmTryCompileExec3720408510.vcxproj]

已完成生成项目“E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR
Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\cmTryCompileExec3720408510.vcxproj”(默认目标)的操作
- 失败。

生成失败。

“E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR
Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\cmTryCompileExec3720408510.vcxproj”(默认目标)
(1) ->

(ClCompile 目标) ->

c1 : fatal error C1083: 无法打开源文件: “E:\??ê?\êμ?éêòê???\?Tè??ú????\?Tè??úêó??\??±ê?ú×ù\AR Drone2.0?a?′????\?a·¢×êá?\??±ê?ú×ù\KCF\kcf-ò??2\C++°?±?\SRT(C++)\build\CMakeFiles\CMakeTmp\testCCompiler.c”: No such file or directory [E:\硕士\实验室事务\无人机项目\无人机视觉\目标跟踪\AR Drone2.0开源项目\开发资料\目标跟踪\KCF\kcf-移植\C++版本\SRT(C++)\build\CMakeFiles\CMakeTmp\cmTryCompileExec3720408510.vcxproj]

0 个警告

1 个错误

已用时间 00:00:00.44

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (PROJECT)

Configuring incomplete, errors occurred!

See also "E:/硕士/实验室事务/无人机项目/无人机视觉/目标跟踪/AR Drone2.0开源项目/开发资料/目标跟踪/KCF/kcf-移植/C++版本/SRT(C++)/build/CMakeFiles/CMakeOutput.log".

See also "E:/硕士/实验室事务/无人机项目/无人机视觉/目标跟踪/AR Drone2.0开源项目/开发资料/目标跟踪/KCF/kcf-移植/C++版本/SRT(C++)/build/CMakeFiles/CMakeError.log".

————————————————————————————————华丽的分割线———————————————————————————————————————

       上面的信息看起来很杂乱,其实就只有一个错误,开头的时候提示“The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/cl.exe" is not able to compile a simple test program.” 这句话意思是说,cl.exe无法编译一个简单的程序,然后cmake继续生成它能生成的内容,到最后快结束的时候,cmake检查发现无法打开testCCompiler.c,出现这个错误的原因是很显然的,因为开头就提示了cl.exe无法编译一个简单的测试程序,testCCompiler.c没有生成,当然就打不开了。笔者一开始也是上网查找该问题的解决办法,发现不少人遇到,但是问题的前提稍有不同,如文章http://blog.csdn/zwlq1314521/article/details/19199613中提到的因为同时装了VS2010和VS2012导致问题,卸载vs2012以及.NET4.5组件解决了问题,然后好多人不管问题的前提是否一样,也去卸载.NET4.5,这样的行为是非常危险的,可能会导致更加严重的后果,就像人生病不对症乱吃药。笔者针对自己的情况进行分析,发现错误提示中有好多乱码,于是想到自己安装的cmake是英文版,是不是对中文文件夹名不支持,然后将项目移到一个英文文件目录下,真的就能生成成功了。由此明白一个道理,有些问题看起来很麻烦,但仔细去分析,也许发现很简单。

转载地址:http://hweab.baihongyu.com/

你可能感兴趣的文章
Q&A: Putting MySQL Fabric to use
查看>>
Fabric FAQ
查看>>
boost 1.39编译安装手记
查看>>
树莓派安装中文输入法
查看>>
树莓派(raspberry pi)播发flash 远程登录 视频播放
查看>>
Linux 安装与配置服务器版jre7
查看>>
Perform Two Phase Commits in MongoDB
查看>>
java.rmi.ConnectException: Connection refused to host: 127.0.0.1
查看>>
数据库服务器 Cloudscape
查看>>
JAVA中使用Schema校验XML
查看>>
使用Jakarta-ORO库的几个例子
查看>>
使用BlazeDS实现Java和Flex通信
查看>>
使用 Apache MINA 开发高性能网络应用程序
查看>>
五分钟学会使用spring-data-cassandra快速实现数据的访问
查看>>
Build self-healing distributed systems with Spring Cloud
查看>>
如何利用Spring Cloud构建起自我修复型分布式系统
查看>>
Java代码实现设置系统时间
查看>>
java -D参数简化加入多个jar
查看>>
用Erlang开发的文档数据库系统CouchDB
查看>>
Apache Commons工具集简介
查看>>