首页 > 解决方案 > 尝试构建库时的 CMAKE_AR-NOTFOUND (MinGW)

问题描述

我使用 VS Code、CMake Tools、Ninja 和 MinGW 作为我的编译器。

尝试构建静态库时,命令行输出显示为:

[build] cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E rm -f libTest.a && CMAKE_AR-NOTFOUND qc libTest.a  CMakeFiles/Test.dir/Test.cpp.obj && cd ."
[build] 'CMAKE_AR-NOTFOUND' is not recognized as an internal or external command,

我假设找不到 ar.exe 库存档器,但是我可以编译一个正常的程序就好了,并且在与 g++.exe(bin 文件夹)相同的位置确实有一个 ar.exe 可执行文件。

为什么 Cmake/Ninja 找不到存档器?

标签: cmakemingw

解决方案


&&%ERRORLEVEL%in between commands 表示如果第一个命令完成且没有错误( = 0),则将执行第二个命令

第一行包含&& CMAKE_AR-NOTFOUND作为CMAKE_AR-NOTFOUND命令运行的方式(后面有参数)。

您收到的错误表示此命令或可执行文件不存在。

看起来 CMake 为ar工具路径设置了这个值,因为它找不到它。

当使用 CMake 配置项目时,您必须确保ar.exe可以在PATH.

它应该包含在 MinGW 中。

有关 MinGW-w64 的最新独立版本(用于 win32 和 win64),请参阅:http ://winlibs.com/


推荐阅读