Cmake не может найти необходимые пакеты для меня

#c #cmake #vcpkg

Вопрос:

Итак, мой скриншот рабочего пространства После некоторой попытки я не могу Заставить Cmake Найти необходимые пакеты, даже после того, как я сделал все, как показано в vcpkg

 cmake_minimum_required(VERSION 3.0.0)
project(TEst VERSION 0.1.0)

include(CTest)
enable_testing()
set(CMAKE_TOOLCHAIN_FILE "N:/Vc-PKG/vcpkg/scripts/buildsystems/vcpkg.cmake")
find_package(glfw3 CONFIG REQUIRED)
target_link_libraries(TEst PRIVATE glfw)
add_executable(TEst main.cpp)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
 

и мой каталог установки Vcpkg находится N:Vc-PKGvcpkg
я также добавил эти строки в vscode

     "C_Cpp.default.includePath": [
        "N:/Vc-PKG/vcpkg/installed/x64-windows/include",
        "N:/Vc-PKG/vcpkg/installed/x86-windows/include",
    ],
    "c-cpp-flylint.cppcheck.includePaths": [
        "N:\Vc-PKG\vcpkg\installed\x64-windows\include",
        "N:\Vc-PKG\vcpkg\installed\x86-windows\include",
    ],
    "cmake.generator": "MinGW Makefiles",
 

Результат, который я получаю Для следующего:

 [main] Configuring folder: Junks 
[proc] Executing command: N:MSYS64mingw64bincmake.EXE --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=N:MSYS64mingw64binx86_64-w64-mingw32-gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=N:MSYS64mingw64binx86_64-w64-mingw32-g  .exe "-Hl:/Programming Projects/Vs Code/Junks" "-Bl:/Programming Projects/Vs Code/Junks/build" -G "MinGW Makefiles"
[cmake] Not searching for unused variables given on the command line.
[cmake] CMake Error at CMakeLists.txt:7 (find_package):
[cmake]   Could not find a package configuration file provided by "glfw3" with any of
[cmake]   the following names:
[cmake] 
[cmake]     glfw3Config.cmake
[cmake]     glfw3-config.cmake
[cmake] 
[cmake]   Add the installation prefix of "glfw3" to CMAKE_PREFIX_PATH or set
[cmake]   "glfw3_DIR" to a directory containing one of the above files.  If "glfw3"
[cmake]   provides a separate development package or SDK, be sure it has been
[cmake]   installed.
[cmake] 
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "L:/Programming Projects/Vs Code/Junks/build/CMakeFiles/CMakeOutput.log".
[cmake] 
 

Пожалуйста, любая помощь была бы очень благодарна, сри, если бы я допустил ошибку, это первый раз, когда я публикую вопрос.

Комментарии:

1. Ты уже vcpkg integrate install сделал это ?

2. Да , я уже сделал интегрированную установку vcpkg, она отлично работала на моем домашнем ПК с помощью Visual Studio, купите мой ноутбук в Vscode, я не смог заставить его работать

3. Установил ли ypu где-нибудь vcpkg_DIR(в env или в cmakelists.txt )?

Ответ №1:

Вы не можете установить CMAKE_TOOLCHAIN_FILE после вызова на project() . Это команда, отвечающая в первую очередь за загрузку файла набора инструментов. Переместите его перед вызовом в project() или еще лучше: установите его в командной строке или в предустановке.

Кроме того, если вы на самом деле не используете CMake 3.0.0, вам не следует устанавливать его как минимум. CMake не совместим с форвардами, поэтому, не протестировав его на минимальной версии, вы не сможете узнать, будет ли он работать так далеко назад.

Комментарии:

1. @M. F. R. Siam — Рад помочь и добро пожаловать в StackOverflow! Если этот ответ решил вашу проблему, пожалуйста, подумайте о том, чтобы принять его (галочка) и/или проголосовать за него (стрелка вверх).