解决“No CMAKE_CXX_COMPILER could be found.”

编译Flutter工程Windows端时突然报错了。

CMake Error at CMakeLists.txt:3 (project):
  No CMAKE_CXX_COMPILER could be found.

前些天还好好的。查了一圈,包括增加cl.exe到系统环境变量,编辑CMakeLists.txt增加set CMAKE_CXX_COMPILER=...,重装VisualStudio的C++相关组件,重启电脑等方式,依然不行- -。

看到一个回复提到了Windows SDK,我想到可能是更新时SDK混乱了,以前好像遇到过类似问题。

Thanks it solved when i modify Desktop development with C++ and installed Windows 10 SDK 10.0.20348.0 instead of 10.0.19041.0

于是看了一下,果然有更新版本的SDK 10.0.26100.0,却没有勾选。取消勾选当前的10.0.22621.0竟然还警告我不要删除,管它呢,都安装就是了。

然后编译一个MFC项目也报错了,真是服了!MFC库我确定安装了的。

Microsoft.CppBuild.targets(497,5): error MSB8041: 此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。

卸载、重装了MFC后,依然提示找不到MFC,这时突然发现“单个组件”下面的MSVC x64/x86生成工具有点多……

把前两个给移除了,这时MFC项目总算能成功编译了。

再次打开AndroidStudio,Flutter项目也能顺利编译Windows端了!看来还是更新VisualStudio导致的WindowsSDK或MSVC版本混乱,删除旧版本,尽量只保留最新版本就可解决。

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注