CMAKE_AR-NOTFOUND при попытке собрать библиотеку (MinGW) - PullRequest
0 голосов
/ 05 августа 2020

Я использую VS Code, CMake Tools, Ninja и MinGW в качестве своего компилятора.

При попытке создать библиотеку stati c вывод командной строки выглядит следующим образом:

[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 не может быть найден, однако я могу легко скомпилировать обычную программу, и действительно есть исполняемый файл ar.exe в том же месте, что и g ++. Exe (папка bin).

Почему Cmake / Ninja не может найти архиватор?

1 Ответ

0 голосов
/ 05 августа 2020

&& между командами означает, что вторая команда будет выполнена, если первая завершилась без ошибок (%ERRORLEVEL% = 0)

Первая строка содержит && CMAKE_AR-NOTFOUND, что означает, что CMAKE_AR-NOTFOUND должен быть запускать как команду (с параметрами, следующими за ней).

В сообщении об ошибке говорится, что эта команда или исполняемый файл не существует.

Похоже, CMake установил это значение для ar путь инструмента, так как он не смог его найти.

Когда CMake используется для настройки проекта, вы должны убедиться, что ar.exe можно найти в PATH.

Он должен быть включенным в MinGW.

Для последней автономной сборки MinGW-w64 (как для win32, так и для win64) см .: http://winlibs.com/

...