读书人

在使用CMake的时候报错小弟我的编译

发布时间: 2012-08-15 16:57:17 作者: rapoo

在使用CMake的时候报错,我的编译器是vs2010
[code=C/C++]
Check for working C compiler using: Visual Studio 10
Could not copy from: D:/Tools/CMake 2.8/share/cmake-2.8/Templates/CMakeVSMacros2.vsmacros
to: D:/´´ÔìÓëÃÎÏë/ÎÒµÄC++/VSMacros80/CMakeMacros/CMakeVSMacros2.vsmacros

Check for working C compiler using: Visual Studio 10 -- works
Detecting C compiler ABI info
Could not copy from: D:/Tools/CMake 2.8/share/cmake-2.8/Templates/CMakeVSMacros2.vsmacros
to: D:/´´ÔìÓëÃÎÏë/ÎÒµÄC++/VSMacros80/CMakeMacros/CMakeVSMacros2.vsmacros

哪位高手帮忙解释下这是什么原因啊,我的默认编译器是c++builder2010,但我想用的是vs2010

[解决办法]
乱码部分是什么
[解决办法]
是不是需要设置下默认编译器呢
[解决办法]

探讨

刚那个解决了,又出新问题了
CMake Error: Unable to find the executable at any of:
D:/VTK/VtkBin/CMakeTmp/CMakeFiles/CMakeTmp/cmTryCompileExec3828460420.exe
D:/VTK/VtkBin/CMakeTmp/CMakeFiles/CMakeTmp/Debug/c……

[解决办法]
我猜你Cmake版本太低,Cmake宏缺失了
[解决办法]
这个很明显啊

如果排除Cmake宏缺失的问题,那么就和编译器Path有关

多编译器时首先要保证选择的编译器以及链接器的Path在靠前的位置,混淆后就可能会测试失败(和configure相似,说可能的原因是因为不同编译器之间可能兼容也可能不兼容)

你可以认为Cmake就是可以直接生成工程的跨平台的configure,原理上和configure是类似的,只不过把细节隐藏了
[解决办法]
PATH并不是指系统PATH变量
而是CMAKE检测的环境变量

CMAKE检测的包含系统PATH之外,还有各类IDE或者编译器的设置变量

VC2010是通过VS100COMNTOOLS变量检测

sdk是通过注册表信息检测

任何一个有污染都会影响结果

到底为何会污染,你得查询使用的IDE/编译器资料

据我所知,安装c++builder后,至少link位置会被污染。

读书人网 >C++

热点推荐