ubuntu中,我新编写了一个叫path.cpp的文件,和其他原来的文件都放在了example文件夹下,重新编译时报错:No SOURCES given to target,我觉得应该是cmakelist中的这句有问题add_executable(${example} ${example}.cpp ${xCoreSDK-examples_SOURCE_DIR}/cpp/print_helper.hpp)
时间: 2024-02-21 08:59:28 浏览: 41
是的,你的猜测是正确的。根据错误信息,CMake无法找到要编译的源文件。你需要将路径和文件名传递给`add_executable`命令。假设你的`path.cpp`文件位于`example`文件夹下,你需要将`${example}.cpp`改为`example/path.cpp`。修改后的命令应该是这样的:
```
add_executable(${example} example/path.cpp ${xCoreSDK-examples_SOURCE_DIR}/cpp/print_helper.hpp)
```
这样CMake就能找到你的源文件并编译它了。
相关问题
ubuntu 如何编译文件夹一群.c文件成.a文件
可以使用以下命令将一组 `.c` 文件编译成一个静态库(`.a` 文件):
```bash
gcc -c *.c # 编译所有 .c 文件
ar rcs libname.a *.o # 将编译好的 .o 文件打包成 .a 文件
```
这里假设所有的 `.c` 文件都在同一个文件夹下,且要编译的文件名均以 `.c` 结尾。`-c` 参数表示只编译,不链接,生成 `.o` 目标文件,`ar rcs` 命令用于将所有 `.o` 文件打包成一个静态库(`.a` 文件)。其中 `libname.a` 是你想要生成的库的名字,可以自定义。打包完成后,会在当前文件夹下生成一个 `.a` 文件。
需要注意的是,如果需要使用这个静态库,需要在代码中添加头文件和链接该库,如下所示:
```c
#include "xxx.h" // xxx.h 是需要引用的头文件
int main() {
// ...
return 0;
}
```
编译时需要指定链接库的路径和名字:
```bash
gcc main.c -L./ -lname -o main.out
```
其中 `-L` 参数指定库文件的路径,`-lname` 参数指定库文件的名字。`-o` 参数指定输出文件的名字。
用g++将共享文件夹中的hello.cpp生成并在Ubuntu终端下执行。
假设你已经在Ubuntu终端中挂载了Windows共享文件夹,并且 `hello.cpp` 文件位于共享文件夹的路径为 `/mnt/winshare/hello.cpp`,以下是具体步骤:
1. 复制 `hello.cpp` 文件到Ubuntu本地系统中。在终端中输入以下命令:
```
cp /mnt/winshare/hello.cpp ~/hello.cpp
```
上述命令将共享文件夹中的 `hello.cpp` 文件复制到当前用户的home目录下。
2. 使用 `g++` 编译 `hello.cpp` 文件。在终端中输入以下命令:
```
g++ ~/hello.cpp -o hello
```
上述命令将编译 `hello.cpp` 文件,并生成名为 `hello` 的可执行文件。 `-o` 选项指定生成的可执行文件的名称为 `hello`。
3. 在终端中执行 `hello` 可执行文件。在终端中输入以下命令:
```
./hello
```
上述命令将执行名为 `hello` 的可执行文件。
4. 如果不需要再次使用共享文件夹中的文件,可以在终端中卸载共享文件夹。在终端中输入以下命令:
```
sudo umount /mnt/winshare
```
上述命令将卸载 `/mnt/winshare` 目录下的共享文件夹。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)