我是qtCreator和cmake的新手。我有一个项目与CMakeLists.txt正常工作。
我有一个包含
的文件main.cppint main(int argc, char *argv[])
{
...
}
在这个文件的顶部,我有几个包括:
...
#include <visp/vpImageIo.h>
#include <visp/vpPixelMeterConversion.h>
#include <visp/vpPose.h>
...
由于CMakeLists.txt文件如下所示,它们正常工作:
cmake_minimum_required(VERSION 2.8)
project( opencv_apriltag2_flea )
set( CMAKE_BUILD_TYPE Release)
set( CMAKE_BUILD_DIRECTORY "/home/fschiano/Repositories/apriltag2/example")
#DEBUG
message( "CMAKE_BUILD_DIRECTORY=${CMAKE_BUILD_DIRECTORY}")
find_package( OpenCV REQUIRED )
find_package(VISP REQUIRED)
include_directories("/home/fschiano/Repositories/apriltag2")
include_directories("/home/fschiano/Repositories/apriltag2/common")
include_directories("usr/local")
include_directories("/home/fschiano/Repositories/visp/visp/modules/vision/src")
find_library(FLYCAPTURE2 flycapture)
add_executable( opencvDemo opencv_demo.cc )
include_directories(${VISP_INCLUDE_DIRS})
#DEBUG
message( "VISP_INCLUDE_DIRS=${VISP_INCLUDE_DIRS}")
message( "VISP_LIBRARIES=${VISP_LIBRARIES}")
# Needed libraries
set (EXTRA_LIBS apriltag flycapture ${OpenCV_LIBS} ${VISP_LIBRARIES})
target_link_libraries( opencvDemo ${EXTRA_LIBS} )
问题如下。 如果我这样做:
vpPose pose; // Create an istance of vpPose
然后
point[i].set_x(x);
point[i].set_y(y);
pose.addPoint(point[i]);
之前已声明point
。
一切正常,但在QTCreator中,我无法查看函数addPoint()
的实现。对于我的代码中与visp相关的每个函数,这都是相同的。
在我看来是因为我使用这个软件(ViSP)作为外部库,因此qtCreator只查看与其相关的文件的编译版本,并且它不知道在哪里搜索.cpp文件。
我想我需要在CMakeLists.txt文件中更改一些内容。
我试着加入一行:
include_directories("/home/fschiano/Repositories/visp/visp/modules/vision/src")
我的.cpp文件在哪里。但它没有用。
有什么想法吗? 感谢