.cpp .h不同文件夹下 cmakelist
时间: 2023-09-08 16:01:11 浏览: 114
当.cpp和.h文件位于不同文件夹下时,我们需要在CMakeLists.txt中正确配置来确保编译器能够正确找到这些文件。
首先,在CMakeLists.txt文件中,我们需要添加以下代码:
```cmake
# 指定.cpp文件所在路径
include_directories(${CMAKE_SOURCE_DIR}/path/to/cpp)
# 指定.h文件所在路径
include_directories(${CMAKE_SOURCE_DIR}/path/to/header)
# 添加.cpp文件
add_executable(MyProgram ${CMAKE_SOURCE_DIR}/path/to/cpp/myprogram.cpp)
# 添加其他.cpp文件(如果有的话)
add_executable(OtherProgram ${CMAKE_SOURCE_DIR}/path/to/cpp/otherprogram.cpp)
# 链接头文件和.cpp文件
target_link_libraries(MyProgram MyHeader)
target_link_libraries(OtherProgram MyHeader)
```
其中,`${CMAKE_SOURCE_DIR}`表示CMakeLists.txt所在路径的上层路径。我们需要将路径中的`path/to/cpp`替换为实际的文件夹路径。
在这个例子中,我们假设我们的程序有两个.cpp文件:myprogram.cpp和otherprogram.cpp,它们的.h文件分别是MyHeader.h和OtherHeader.h。
我们首先使用`include_directories`命令指定.h文件所在的文件夹路径,然后使用`add_executable`命令添加.cpp文件。最后,使用`target_link_libraries`命令链接头文件和.cpp文件。
通过这样的配置,CMake就能够正确找到.cpp和.h文件,编译我们的程序。
阅读全文