【发布时间】:2019-06-25 07:38:58
【问题描述】:
我在 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 配置和生成时没有错误,但在编译时出现此错误:
ninja:错误:'/lib/double-conversion.lib',需要 'ItkProjects/ItkProjects.exe',缺失且没有已知的规则来制作它
我确定该文件存在于D:\vcpkg\installed\x64-windows\lib(我的安装路径)中,但我不确定为什么ninja 无法链接到它。请任何帮助..
【问题讨论】:
-
注意
/lib/double-conversion.lib中的前导/:这意味着ninja 会准确搜索此absolute 路径,而无需在其前面添加任何内容。可能是 ITK 的vcpkg包有问题。 -
在github中发现一个问题github.com/microsoft/vcpkg/issues/6975
-
我今天正在使用 ITK + vcpkg + Visual Studio 解决同样的错误。