环境:windows10,cmake 3.16.2,gcc 7.3.0,g++ 7.3.0
由于想要在现有编译流程的脚本中新增一个仓库的编译,于是直接在脚本内添加了对应的cmake指令:
cmake -DCMAKE_INSTALL_PREFIX=D:/qt/Tools/mingw730_64/x86_64-w64-mingw32 -DCMAKE_BUILD_TYPE=Relwithdebinfo ../
但是如果该build目录下原先没有cache存在的话,会报错:
于是再通过cmake-gui来进行CMAKE_C_COMPILER和CMAKE_CXX_COMPILER的配置
但是配置完成后还是会报错:
在网上搜得可以通过加-DCMAKE_C_COMPILER_FORCED=ON -DCMAKE_CXX_COMPILER_FORCED=ON
这两个参数来解决该报错,试了一下确实有用,但是会有新的问题:
这样得出来的Makefile的格式不对,并且内容也有问题
正确解决方法:
1.清空build目录
2.在空的build目录内执行cmake-gui .
配置好source目录和binary目录后,点击configure
3.使用自己想要的编译器(我使用的默认)
4.出现如下信息后继续点击configure
5.此时配置即可成功(不成功的话找出矛盾点,修改一下),可点击generate
6.可以回到命令行执行脚本,此时可以编译成功,并执行后续逻辑