环境: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.可以回到命令行执行脚本,此时可以编译成功,并执行后续逻辑
文章讲述了在Windows10环境中使用CMake3.16.2、GCC7.3.0和G++7.3.0时遇到的问题,包括新仓库编译脚本中的错误、cmake-gui配置、强制编译器导致的Makefile问题,以及正确解决方法:清空build目录、配置cmake-gui并使用默认编译器,确保Makefile生成正确。
1788

被折叠的 条评论
为什么被折叠?



