我创建了一个CMakeLists.txt
,内容如下
cmake_minimum_required (VERSION 3.8)
project(CTP_dll)
add_library(CTPdll SHARED CTPdll.cpp)
add_executable(CTPTest CTPTest.cpp)
target_link_libraries(CTPTest CTPdll)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(CTPdll ${OpenCV_LIBS})
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
target_link_libraries(CTPTest ${VTK_LIBRARIES})
错误信息是
CMake Error at D:/vcpkg/installed/x64-windows/share/hdf5/hdf5-targets.cmake:37(message):此导出集中的某些(但不是全部)目标已定义。
定义的目标:hdf5::hdf5-shared; hdf5::hdf5_hl-shared
尚未确定的目标:hdf5::hdf5_cpp-shared; hdf5::hdf5_hl_cpp-shared
如果我删除包含VTK如下,没有错误将被报告。但是很明显,我不能在CTPTest.cpp
中包含VTK
,这是不可接受的。
cmake_minimum_required (VERSION 3.8)
project(CTP_dll)
add_library(CTPdll SHARED CTPdll.cpp)
add_executable(CTPTest CTPTest.cpp)
target_link_libraries(CTPTest CTPdll)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(CTPdll ${OpenCV_LIBS})
我在Windows 10平台上使用Visual Studio 2022编译了这个。网上也有类似的问题,但没有人回答。所以我提出这个问题,希望有人能帮上忙。
1条答案
按热度按时间gwbalxhn1#
你遇到的是vcpkg issue #15502。
有pull request with a fix available,another pull request with a fix is now merged。