4

我在 vcpkg 中安装了一个新库,即,ITK现在我正在尝试编译其指南中提供的第一个代码示例,我通过 vcpkg 安装了它,所以我跳过了安装部分(在该指南中提供)并立即创建了一个新的 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})

主文件

#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不能链接到它。请任何帮助..

4

2 回答 2

3

您是否尝试过使用 vcpkg cmake-tool 运行 cmake,例如:

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

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

于 2019-06-25T13:09:47.477 回答
0

找到“vcpkg/scripts/buildsystems/vcpkg.cmake”文件。搜索“VS_GLOBAL_VcpkgEnabled”并将属性从 false 更改为 true。

于 2021-11-08T15:50:44.173 回答