问题:
下载了open3d源码以后按照官方指导使用CMAKE+VS2015进行编译,但是configure过程中出现
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:7 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:7 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
(错误提示大概是这样,因为没有提前截图)
可能原因和解决方案:
1. VS2015默认不安装VC,需要打开安装程序进行修改或VS内新建VC++工程并按提示安装VC Package。
2. 若已安装VC仍无法编译,应进入build目录下查看CMakeError.log日志,其中记录了不能编译的具体报错情况。
日志内显示:缺少ucrt.lib(大概叫这个),也可能是cl.exe,rc.exe。
为了排查错误,笔者进行了以下多方面尝试,具体哪项生效不得而知,仅供参考。
1) 检查VS2015内VC++ console工程是否能够编译并调试,若不能,进行修复。修复方式包括:
i) 从MS符号服务器下载dll。参考 https://blog.csdn.net/sidely/article/details/49904807
ii) 安装Windows SDK 10。地址 https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
2) VS可以正常执行VC++程序,尝试使用VS command prompt命令行打开CMake-GUI进行编译。因为VS安装时可能未向系统添加环境变量,导致CMAKE找不到compiler。
3) 若还无法编译,笔者仅遇到一种情况,即CMakeError.log中提示缺少rc.exe,将Windows SDK 10中的对应文件拷贝至VS目录下。参考 https://stackoverflow.com/questions/14372706/visual-studio-cant-build-due-to-rc-exe
成功configure和generate