我目前正在尝试将CMake项目从Linux转换为依赖于OpenCV的Windows,但我无法将库链接到可执行文件。
我已经发布了下面的大致CMakeLists.txt文件,遗漏了一些私人内容:
project(my_project_name)
cmake_minimum_required(VERSION 2.8)
SET(CMAKE_CXX_FLAGS "-g -Wall")
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin)
FIND_PACKAGE(OpenCV REQUIRED)
IF(NOT OpenCV_FOUND)
MESSAGE(FATAL_ERROR "OpenCV not found")
ENDIF()
SET(PROJECT_HDRS
#headers here
)
SET(PROJECT_SRCS
#sources here
)
add_executable(${PROJECT_NAME} ${PROJECT_SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
这个CMakeLists.txt文件在Linux上工作正常,但在Windows上链接有问题。我的第一直觉是OpenCV安装不好?以下是我在安装OpenCV时使用的大致步骤
当我尝试构建自己的项目时,我得到错误“未定义引用'cv :: waitKey(int)'错误,这让我觉得这是一个链接器问题。我试图指向。 lib文件直接,例如:
target_link_libraries(${PROJECT_NAME} C:/someDirectory/opencv_core243.lib)
但我仍然得到同样的错误。
我也尝试过这些StackOverflow线程中描述的方法: here和here。
如果我错过了一些明显的东西,我会事先道歉,但这或多或少是我第一次在Windows上开发而且我的想法已经用完了。
答案 0 :(得分:0)
据我所知,问题是visual studio2010
或vc++2010
附带。net framework 4.5
将其降级为.net framework4
(即卸载.net 4.5
并安装4.0
)。
那样可以解决问题......
解决了上述问题,我碰到了我的桌子。
要不然
使用新的Service Pack修补visual c++
答案 1 :(得分:0)
有点迟了但是......让我们走吧
对我来说这个教程很完美
http://kevinhughes.ca/tutorials/opencv-install-on-windows-with-codeblocks-and-mingw/