我的项目结构如下:
--root: main.cpp CMakeLists.txt
--src: function.cpp CMakeLists.txt
--include: function.h
:#include <iostream>
#include "function.h"
using namespace std;
int main(int argc, char *argv[])
{
//call module in function.hpp
return 0;
}
根目录下的CMakeLists.txt文件:
project(t1)
cmake_minimum_required(VERSION 2.8)
add_subdirectory(src)
file(GLOB_RECURSE SOURCES
include/function.h
src/function.cpp)
add_executable(${PROJECT_NAME} ${SOURCES})
在src目录中的CMakeLists.txt:include_directories(${PROJECT_SOURCE_DIR}/include)
如何在根目录和src目录中编写CMakelists以实现函数的分离实现?此外,如何在主函数中调用它们。在CMake未能在include_directories中找到适当的头文件/包含文件中有可能的解决方案,但仍不符合我的情况。
${SOURCES}
不应包含头文件。使用include_directories
指定include
路径。 - πάντα ῥεῖ