一个文件夹内有多个不同名字的cpp文件,每个需要链接hiredis,然后生成文件本身名字的可执行文件,怎么写cmakelist
时间: 2024-01-24 09:05:43 浏览: 21
以下是一个可能的 CMakeLists.txt 文件,可以参考:
```
cmake_minimum_required(VERSION 3.0)
project(my_project)
# 设置编译选项
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 添加 hiredis 库
find_library(HIREDIS_LIB hiredis)
# 遍历所有 cpp 文件,生成可执行文件
file(GLOB SRC_FILES *.cpp)
foreach(SRC_FILE ${SRC_FILES})
get_filename_component(EXE_NAME ${SRC_FILE} NAME_WE)
add_executable(${EXE_NAME} ${SRC_FILE})
target_link_libraries(${EXE_NAME} ${HIREDIS_LIB})
endforeach()
```
这个 CMakeLists.txt 文件做的事情是:
- 设置编译选项,使用 C++11 标准。
- 查找 hiredis 库。
- 遍历所有 cpp 文件,生成对应的可执行文件,文件名和 cpp 文件名相同。同时链接 hiredis 库。
相关问题
visual studio一个项目可以有多个cpp文件吗
是的,Visual Studio一个项目可以有多个cpp文件。
在Visual Studio中,一个项目是一个包含多个源代码文件的工程。每个cpp文件都可以包含不同的函数和变量定义,每个cpp文件可以独立编译成一个目标文件。通过在一个项目中使用多个cpp文件,可以提高代码的可维护性和可扩展性。
在Visual Studio中,可以通过添加新的cpp文件来扩展项目。可以右键单击项目名称,选择“添加”->“新建项”,然后选择“C++文件(.cpp)”。这样可以创建一个新的cpp文件,并将其添加到项目中。
在一个项目中使用多个cpp文件时,需要注意文件之间的依赖关系。确保每个cpp文件都包含它所需的头文件,并在需要时使用所需的函数和变量。
在编译时,Visual Studio会将所有cpp文件编译成目标文件,并将它们链接在一起生成可执行文件或者库文件。链接器负责解析文件之间的依赖关系,并将它们正确地连接起来。
总之,Visual Studio允许一个项目有多个cpp文件,这使得代码的组织和管理更加方便,并且可以提高项目的可扩展性和可维护性。
cpp的include如果.h文件被放到一个文件夹内部,如何在cpp文件中include
如果您想要在C++文件中包含一个位于文件夹内的头文件,您可以使用相对路径或绝对路径来指定头文件的位置。
使用相对路径:
假设您的头文件(例如test.h)位于名为include的文件夹中,而您的C++文件(例如main.cpp)位于项目根文件夹中,则可以使用以下代码包含头文件:
```cpp
#include "include/test.h"
```
使用绝对路径:
假设您的头文件(例如test.h)位于项目根文件夹的路径C:\project\include中,而您的C++文件(例如main.cpp)位于路径C:\project\src中,则可以使用以下代码包含头文件:
```cpp
#include "C:/project/include/test.h"
```
请注意,使用绝对路径可能会在移植项目时出现问题,因为不同操作系统的路径分隔符可能不同。