-- Configuring done CMake Error at CMakeLists.txt:3 (add_executable): No SOURCES given to target: CANfestival CMake Generate step failed. Build files cannot be regenerated correctly. make: *** [Makefile:132:cmake_check_build_system] 错误 1
时间: 2024-03-09 19:49:17 浏览: 58
这个错误提示是因为在CMakeLists.txt中没有指定编译目标的源文件。你需要在CMakeLists.txt中添加源文件的路径,然后重新运行cmake命令和make命令。
例如,如果你的源文件位于src目录下,可以按照以下方式修改CMakeLists.txt文件:
```
cmake_minimum_required(VERSION 3.10)
project(CANfestival)
# 添加源文件的路径
set(SOURCES
src/main.cpp
src/xxx.cpp
)
# 设置编译目标
add_executable(CANfestival ${SOURCES})
```
在这个示例中,我们将源文件放在了src目录下,并将src目录下的所有源文件都添加到了SOURCES变量中。然后,我们使用add_executable命令将SOURCES变量中的所有源文件编译成一个名为CANfestival的可执行文件。
完成修改后,重新运行cmake命令和make命令即可。
相关问题
CMake Error at plumbing_pub_sub/CMakeLists.txt:137 (add_executable): Cannot find source file:
引用\[1\]:CMake Error at plumbing_pub_sub/CMakeLists.txt:148 (add_dependencies): The dependency target "plumbing_pub_sub_generate_message_cpp" of target "demo03_pub_person" does not exist.
引用\[2\]:CMake Error at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED): CMake 3.0.2 or higher is required. You are running version 2.8.12.2-- Configuring incomplete, errors occurred!
引用\[3\]:1、下载:curl -O https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz 2、解压:tar -zxvf cmake-3.6.0-Linux-x86_64.tar.gz 注意:这个压缩包不是源码包,解压后直接用。 3、增加环境变量,使其成为全局变量: vim /etc/profile 在文件末尾处增加以下代码 export PATH=$PATH:/lnmp/src/cmake-3.6.0-Linux-x86_64/bin 注意:写自己刚安装cmake的bin的路径 使修改的文件生效 source /etc/profile 4、查看环境变量: echo $PATH 5、检查cmake版本: cmake --version
问题: CMake Error at plumbing_pub_sub/CMakeLists.txt:137 (add_executable): Cannot find source file:
回答: 根据引用\[1\]中的错误信息,CMake在执行add_dependencies时报错,提示目标"plumbing_pub_sub_generate_message_cpp"不存在。这可能是由于CMakeLists.txt文件中的依赖关系设置有误导致的。另外,引用\[2\]中的错误信息显示你正在使用的CMake版本过低,需要使用CMake 3.0.2或更高版本。你可以根据引用\[3\]中的步骤下载并安装最新版本的CMake,并将其添加到全局环境变量中。这样可以解决CMake版本不兼容的问题。至于CMake Error at plumbing_pub_sub/CMakeLists.txt:137 (add_executable): Cannot find source file:的具体原因,需要查看CMakeLists.txt文件中的代码,确认是否正确指定了源文件的路径。
#### 引用[.reference_title]
- *1* [ROS通信部分编译错误](https://blog.csdn.net/m0_44999129/article/details/123158488)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [CMake安装或CMake Error at CMakeLists](https://blog.csdn.net/banyu0052/article/details/101946043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.15 or higher is required. You are running version 3.9.0 -- Configuring incomplete, errors occurred!
这个错误提示说明你需要安装 CMake 的更新版本,因为当前的 CMake 版本太低了,无法支持 spglib 的编译。你需要下载并安装 CMake 3.15 或更高版本。
以下是在 Linux 系统上安装 CMake 的步骤:
1. 打开终端,输入以下命令安装 CMake:
```
sudo apt-get update
sudo apt-get install cmake
```
如果你使用的是其他 Linux 发行版,可以使用相应的包管理器来安装 CMake。
2. 输入以下命令检查 CMake 是否已经安装成功:
```
cmake --version
```
如果输出了 CMake 的版本号,则说明安装成功。
如果你需要在没有管理员权限的情况下安装 CMake,可以从 CMake 的官网下载源代码,然后按照以下步骤进行编译安装:
1. 解压源代码,进入解压后的目录。
2. 创建一个新的目录,用于编译和安装 CMake:
```
mkdir build && cd build
```
3. 执行以下命令进行编译和安装:
```
../configure --prefix=$HOME/local
make
make install
```
其中,`--prefix` 参数指定 CMake 的安装路径。
4. 将 `$HOME/local/bin` 添加到 PATH 环境变量中即可使用 CMake。
需要注意的是,如果在编译安装 CMake 的过程中出现了依赖库缺失的错误,需要先安装相应的依赖库,才能继续安装 CMake。