CMake无法链接到vcpkg库

时间:2019-06-25 07:38:58

标签: c++ cmake itk vcpkg

我在vcpkg中安装了一个新库,即ITK,现在我试图编译其指南中提供的第一个代码示例,我通过vcpkg安装了它,所以我跳过了安装部分(提供了指南),并立即在Visual Studio中创建了一个新的cmake项目。

+ 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的配置和生成没有错误,但是在编译时最终出现此错误:

  

忍者:错误:'/lib/double-conversion.lib',需要   'ItkProjects / ItkProjects.exe',丢失,尚无已知规则

我确定此文件存在于D:\vcpkg\installed\x64-windows\lib(我的安装路径)中,但是我不确定为什么ninja无法链接到该文件。请任何帮助。

1 个答案:

答案 0 :(得分:1)

您是否尝试使用vcpkg cmake-tool来运行cmake:

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

如果我了解此权利,将添加正确的文件夹名称。刚刚在这里找到:using vcpkg with cmake