在CMakeLists中包含.cpp文件,以便能够从.h切换到.cpp

时间:2016-11-30 10:38:49

标签: c++ qt cmake qt-creator

我是qtCreator和cmake的新手。我有一个项目与CMakeLists.txt正常工作。

我有一个包含

的文件main.cpp
int 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文件在哪里。但它没有用。

有什么想法吗? 感谢

0 个答案:

没有答案