CMake не может связаться с библиотекой vcpkg - PullRequest
2 голосов
/ 25 июня 2019

Я установил новую библиотеку в vcpkg, то есть ITK, и теперь я пытаюсь скомпилировать самый первый пример кода, доступный в его руководстве, я установил его через vcpkg, поэтому пропустил часть установки (предоставленную в этом руководстве)и немедленно создал новый проект cmake в visual studio.

+ ItkProjects
    - ItkProjects
        - main.cpp
        - CMakeLists.txt  #1
    - CMakeLists.txt   #2

CMakeLists.txt # 2

cmake_minimum_required (VERSION 3.8)

project ("ItkProjects")

# Include sub-projects.
add_subdirectory ("ItkProjects")

CMakeLists.txt # 1

cmake_minimum_required (VERSION 3.8)

find_package(ITK CONFIG REQUIRED)

include_directories(${ITK_INCLUDE_DIRS})

add_executable (ItkProjects "main.cpp")

target_link_libraries(ItkProjects ${ITK_LIBRARIES})

main.cpp

#include "itkImage.h"

using namespace std;

int main()
{
    using ImageType = itk::Image<unsigned char, 3>;

    ImageType::Pointer image = ImageType::New();

    return EXIT_SUCCESS;
}

CMake настроен и сгенерирован без ошибок, но при компиляции я получаю эту ошибку:

ninja: error: '/lib/double-conversion.lib', необходимый для 'ItkProjects / ItkProjects.exe', отсутствует и не известно ни одного правила для его создания

Я уверен, что этот файл существует в D:\vcpkg\installed\x64-windows\lib (мой путь установки), но я не уверен, почемуninja не может на него ссылаться.Пожалуйста, помогите ..

1 Ответ

1 голос
/ 25 июня 2019

Вы пытались запустить cmake с помощью vcpkg cmake-tool, например:

cmake CMakeLists.txt "-DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake"

Если я правильно понял это право, то будет добавлено правильное имя папки.Просто нашел это здесь: с помощью vcpkg с cmake

...