VS2015+Cmake编译open3d

问题:

下载了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

猜你喜欢

转载自blog.csdn.net/u013212391/article/details/80039726