1
我试图编译测试子目录project/model/tests
可执行文件需要链接驻留在project/model
我的模型文件的可执行文件。但是,我无法让它工作。我已经成功地将父目录,但CMake的不断告诉我发现Foo.cpp中没有源文件,该文件是在父目录,而bar.cpp,这是在当前目录中,正确添加。添加从父目录cmake的
cmake_minimum_required(VERSION 2.6)
# get parent directory
get_filename_component(MODEL_DIR ${CMAKE_CURRENT_SOURCE_DIR} PATH)
# Locate GTest
find_package(GTest REQUIRED)
# Add parent directory
include_directories(${GTEST_INCLUDE_DIRS} ${MODEL_DIR})
link_directories(${MODEL_DIR})
# all included directories are printed out correctly
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
message(STATUS "dir='${dir}'")
endforeach()
# foo.cpp, which is in the parent directory is not found
add_executable(runTests foo.cpp bar.cpp)
target_link_libraries(runTests ${GTEST_LIBRARIES} pthread)
谢谢。
谢谢。它现在可以工作:)而且我会尝试关注你对link_directories的建议。 –
@LimH。给出'link_libraries()'警告的一些基本原理:参见例如[这个问题](http://stackoverflow.com/q/15423821/1782465)例如与它的问题。 – Angew