You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Clang+CMake+Ninja编译无.exe后缀问题咨询

问题原因与解决方法

你遇到的可执行文件无.exe后缀的问题,根源在于构建命令里的-DCMAKE_SYSTEM_NAME="Generic"参数:

  • CMake的平台识别逻辑:CMake通过CMAKE_SYSTEM_NAME变量判断目标操作系统。当你将其设为Generic时,CMake会进入通用构建模式,不会添加任何平台特有的文件后缀——包括Windows系统默认要求的.exe。正常情况下,CMake在Windows环境中会自动识别系统类型,默认给可执行文件加上.exe后缀。
  • 手动改名可运行的本质:Clang在Windows下编译生成的二进制文件本身是符合PE格式的可执行程序,只是缺少.exe后缀导致Windows系统无法自动识别为可执行文件。改名后系统能正确识别其格式,因此可以正常运行。

解决方法:移除构建命令中的-DCMAKE_SYSTEM_NAME="Generic"参数,让CMake自动检测Windows平台。修改后的构建命令如下:

cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER:PATH="%ProgramFiles(x86)%\LLVM\bin\clang.exe" -DCMAKE_CXX_COMPILER:PATH="%ProgramFiles(x86)%\LLVM\bin\clang.exe" -DCMAKE_C_COMPILER_ID="Clang" -DCMAKE_CXX_COMPILER_ID="Clang"
cmake --build build

这样构建完成后,生成的可执行文件会自动带有.exe后缀,无需手动改名。

内容的提问来源于stack exchange,提问作者imrichardcole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:43:29