不,这并非是我想要的结果,我希望在一个cmake中有多个源文件,请注意,其中大部分源文件为声明函数源文件,分别用来声明一个函数,而最后一个源文件为主要的main函数源文件,通过其他源文件所声明的函数来进行计算,而并非你所说的全在一个程序中进行。
时间: 2024-04-15 08:31:02 浏览: 87
testDir.rar
非常抱歉我之前的回答没有理解你的问题。如果你希望在一个 CMake 项目中有多个源文件,并且其中大部分源文件用于声明函数,而最后一个源文件包含主要的 `main` 函数来调用其他源文件中声明的函数进行计算,你可以按照以下步骤进行:
1. 创建一个名为 `CMakeLists.txt` 的文件,将以下内容复制到该文件中:
```cmake
cmake_minimum_required(VERSION 3.0)
project(EigenFunctions)
# 添加可执行目标
add_executable(eigen_functions main.cpp functions.cpp)
# 添加Eigen库的包含路径
target_include_directories(eigen_functions PRIVATE /path/to/eigen/library)
```
请将 `/path/to/eigen/library` 替换为你实际安装 Eigen 库的路径。
2. 创建一个名为 `main.cpp` 的文件,并将主要的 `main` 函数代码放在其中:
```cpp
#include <iostream>
#include "functions.h"
int main() {
// 调用其他源文件中声明的函数进行计算
int result1 = calculateFunction1();
std::cout << "Result 1: " << result1 << std::endl;
int result2 = calculateFunction2();
std::cout << "Result 2: " << result2 << std::endl;
return 0;
}
```
3. 创建一个名为 `functions.h` 的头文件,并在其中声明你想要的函数:
```cpp
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
int calculateFunction1();
int calculateFunction2();
#endif
```
4. 创建一个名为 `functions.cpp` 的文件,并在其中实现头文件中声明的函数:
```cpp
#include "functions.h"
int calculateFunction1() {
// 在这里实现第一个函数的计算逻辑
return 42;
}
int calculateFunction2() {
// 在这里实现第二个函数的计算逻辑
return 73;
}
```
在上述示例中,`main.cpp` 包含主要的 `main` 函数,用于调用其他源文件中声明的函数进行计算。`functions.h` 头文件中声明了 `calculateFunction1` 和 `calculateFunction2` 函数,而 `functions.cpp` 文件中实现了这些函数。
通过将所有源文件都包含在 `add_executable` 命令中,CMake 将会将这些源文件一起编译,并生成一个可执行文件。
希望这个示例更符合你的需求。如果你还有其他问题,请随时提问。
阅读全文