2014-07-25 60 views
3

我在嘗試讓我的cmake看到我的opencv時遇到問題。 我已經安裝了opencv,可以運行一些示例問題,並且有些錯誤與我在cmake文件中獲得的錯誤相同(當通過終端運行示例程序時)OpenCV_FOUND爲FALSE,因此包「OpenCV」被認爲未找到

我試圖改變環境在 http://answers.opencv.org/question/35125/cmake-linking-error-opencv_found-to-false-ubuntu/

我的.bashrc文件中描述的變量路徑,現在看起來像

CMAKE_PREFIX_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9:$CMAKE_PREFIX_PATH 

CPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/include:$CPATH LD_LIBRARY_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib:$LD_LIBRARY_PATH PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9bin:$PATH 

PKG_CONFIG_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/pkgconfig:$PKG_CONFIG_PATH 

PYTHONPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/python2.7/dist-packages:$PYTHONPATH 

和/etc/ld.so.conf中的內容是

include /etc/ld.so.conf.d/*.conf 
include /home/durham/Desktop/OpenCV/opencv-2.4.9 

我試圖運行CMake的文件看起來像這樣

cmake_minimum_required(VERSION 2.6) 

if(POLICY CMP0020) cmake_policy(SET CMP0020 NEW) endif(POLICY CMP0020) 

SET(CMAKE_VERBOSE_MAKEFILE TRUE) SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/config) 

ADD_DEFINITIONS(-DQT_THREAD_SUPPORT -D_REENTRANT -DQT_NO_DEBUG 
-DIQRMODULE) 

SET(QT_MT_REQUIRED TRUE) find_package(Qt5Widgets) FIND_PACKAGE(OpenCV REQUIRED) 


IF(NOT DEFINED IQR_INCLUDE_DIR) set (IQR_INCLUDE_DIR "/usr/include/iqr") #default for linux ENDIF(NOT DEFINED IQR_INCLUDE_DIR) 

IF(NOT EXISTS ${IQR_INCLUDE_DIR}) message(STATUS "not exists IQR_INCLUDE_DIR: ${IQR_INCLUDE_DIR}") set (IQR_INCLUDE_DIR $ENV{IQR_INCLUDE_DIR} CACHE PATH "" FORCE) IF(NOT EXISTS ${IQR_INCLUDE_DIR}) 
    message(STATUS "IQR_INCLUDE_DIR set to ${IQR_INCLUDE_DIR}") 
    message(FATAL_ERROR "Please specify iqr include directory using IQR_INCLUDE_DIR env. variable") ENDIF(NOT EXISTS ${IQR_INCLUDE_DIR}) ENDIF(NOT EXISTS ${IQR_INCLUDE_DIR}) 

IF(WIN32) IF(NOT DEFINED IQR_LIB_DIR) 
    set (IQR_LIB_DIR $ENV{IQR_LIB_DIR} CACHE PATH "" FORCE) ENDIF(NOT DEFINED IQR_LIB_DIR) 

    IF(NOT EXISTS ${IQR_LIB_DIR}) 
    message(FATAL_ERROR "Please specify phidgets include directory using IQR_LIB_DIR env. variable") ENDIF(NOT EXISTS ${IQR_LIB_DIR}) ENDIF(WIN32) 




SET(libSrc 
    moduleArDroneBottomCamera.cpp 
    ) 

INCLUDE_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${IQR_INCLUDE_DIR} ${QT_INCLUDE_DIR} ${OPENCV_INCLUDE_DIR} ardrone_sdk/ ardrone_sdk/VP_SDK/ ardrone_sdk/VLIB/Stages/ ardrone_sdk/VP_SDK/VP_Os/ ardrone_sdk/VP_SDK/VP_Os/linux/ ardrone_sdk/VP_SDK/VP_Stages/) 

ADD_SUBDIRECTORY(ardrone_sdk) 

ADD_LIBRARY(moduleArDroneBottomCamera SHARED ${libSrc}) 

IF(WIN32) set(IQR_LIBS "${IQR_LIB_DIR}/libIqrItem.dll") ENDIF(WIN32) 


TARGET_LINK_LIBRARIES (moduleArDroneBottomCamera ${OPENCV_LIBRARIES} pc_ardrone ${QT_LIBRARIES} ${IQR_LIBS} ) 

qt5_use_modules(moduleArDroneBottomCamera Core Widgets Network) 


SET_TARGET_PROPERTIES(moduleArDroneBottomCamera PROPERTIES PREFIX "") 

IF(UNIX) set (IQR_INSTALL_DIR $ENV{HOME}) ENDIF(UNIX) 

IF(WIN32) set (IQR_INSTALL_DIR $ENV{USERPROFILE}) ENDIF(WIN32) 


INSTALL(TARGETS moduleArDroneBottomCamera LIBRARY DESTINATION ${IQR_INSTALL_DIR}/iqr/lib/Modules RUNTIME DESTINATION ${IQR_INSTALL_DIR}/iqr/lib/Modules) 

但是當我嘗試生成該使用cmake的GUI我得到下面的輸出(廣東話發表圖片卻因此其在鏈接)

http://postimg.org/image/4e553z6rh/

我正在運行Ubuntu 14.04。有什麼建議麼?

感謝 d

回答

0

快速和骯髒的解決方案:嘗試安裝OpenCV(你知道,讓& &須藤使安裝)。在安裝頭文件後應該是/ usr/local/include,庫文件應該位於/ usr/local/lib中。

這個問題可能在FindOpenCV.cmake文件的某個地方,所以你不妨試着弄明白它在做什麼,或許修復它 - CMake語法相當簡單。 它可能會檢查默認的安裝位置,而不是它現在所在的位置,或者一些很少使用的環境變量。

相關問題