小编Tim*_*m K的帖子

无法使用 cmake 与 OpenCV 和 LibTorch 链接项目

几天前我问了一个关于将项目与 OpenCV 链接的类似问题。我已经成功了,但现在我使用 CMake 并将 LibTorch 添加到项目中遇到了一个非常奇怪的问题。

如果我在项目中只使用 OpenCV,一切都会编译、链接并运行良好。

但是如果我将 Torch 添加到 CMakeLists.txt,我会收到链接器错误:

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
set(CMAKE_VERBOSE_MAKEFILE ON)
project(torchscriptie)

find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

find_package(Torch HINTS "/usr/local/libtorch")
message(STATUS "TORCH_LIBRARIES = ${TORCH_LIBRARIES}")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")

add_executable(torchscriptie main.cpp)
target_link_libraries( torchscriptie ${OpenCV_LIBS} )
target_link_libraries(torchscriptie "${TORCH_LIBRARIES}")
set_property(TARGET torchscriptie PROPERTY CXX_STANDARD 14)
Run Code Online (Sandbox Code Playgroud)

此 CMakeLists.txt 文件会导致此错误:

CMakeFiles/torchscriptie.dir/main.cpp.o: In function `main':
/code/cpp/torchscriptie/main.cpp:18: undefined reference to `cv::imread(std::string const&, int)'
/code/cpp/torchscriptie/main.cpp:24: undefined reference to `cv::namedWindow(std::string const&, int)'
/code/cpp/torchscriptie/main.cpp:25: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
collect2: error: …
Run Code Online (Sandbox Code Playgroud)

opencv cmake libtorch

8
推荐指数
1
解决办法
1983
查看次数

标签 统计

cmake ×1

libtorch ×1

opencv ×1