[ 92%] Building CXX object CMakeFiles/app_yolov8.dir/app_yolov8.cpp.o [100%] Linking CXX executable app_yolov8 /usr/bin/ld: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined reference to `cairo_tag_end' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined reference to `cairo_tag_begin' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined reference to `cairo_font_options_get_variations' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0' collect2: error: ld returned 1 exit status
时间: 2023-07-21 21:28:24 浏览: 312
这是一个编译错误,看起来是由于缺少依赖库引起的。其中,缺少的库包括librsvg-2.so.2和libSM.so.6。您需要安装这些库以解决此错误。您可以使用以下命令安装这些库:
```
sudo apt-get install librsvg2-2 libsm6
```
如果这些库已经安装了,您可以尝试重新安装它们以解决此问题。
相关问题
opencv make过程中Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2.cpp.o卡住了
这种情况通常是由于编译器或者链接器出现了问题导致的。你可以尝试以下方法解决这个问题:
1. 清空缓存并重新编译:
```
make clean
make
```
2. 尝试重新安装 Opencv:
```
sudo apt-get remove opencv
sudo apt-get install opencv
```
3. 检查你的编译器是否正常:
```
g++ --version
```
4. 检查你的链接器是否正常:
```
ld --version
```
如果以上方法都无法解决问题,你可以尝试在编译时添加 `-v` 参数,查看编译过程中的详细信息,以便更精确定位问题所在。
CMake Error at /home/jianhui.ge/cmake-3.18.0-Linux-x86_64/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message): The C++ compiler "/usr/bin/c++" is not able to compile a simple test program. It fails with the following output: Change Dir: /home/jianhui.ge/XNNPACK/zhc_test/build/linux_x86/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/make cmTC_ff260/fast && /usr/bin/make -f CMakeFiles/cmTC_ff260.dir/build.make CMakeFiles/cmTC_ff260.dir/build make[1]: Entering directory '/home/jianhui.ge/XNNPACK/zhc_test/build/linux_x86/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_ff260.dir/testCXXCompiler.cxx.o /usr/bin/c++ -fPIE -o CMakeFiles/cmTC_ff260.dir/testCXXCompiler.cxx.o -c /home/jianhui.ge/XNNPACK/zhc_test/build/linux_x86/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTC_ff260 /home/jianhui.ge/cmake-3.18.0-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ff260.dir/link.txt --verbose=1 /usr/bin/c++ -llog -lz CMakeFiles/cmTC_ff260.dir/testCXXCompiler.cxx.o -o cmTC_ff260 /usr/bin/ld: cannot find -llog collect2: error: ld returned 1 exit status CMakeFiles/cmTC_ff260.dir/build.make:105: recipe for target 'cmTC_ff260' failed make[1]: *** [cmTC_ff260] Error 1 make[1]: Leaving directory '/home/jianhui.ge/XNNPACK/zhc_test/build/linux_x86/CMakeFiles/CMakeTmp' Makefile:140: recipe for target 'cmTC_ff260/fast' failed make: *** [cmTC_ff260/fast] Error 2
这个问题是由于 C++ 编译器 "/usr/bin/c++" 无法编译一个简单的测试程序所导致的。并且在链接过程中找不到名为 'liblog' 的库。你可以尝试以下步骤来解决这个问题:
1. 确保你的系统中已经安装了 C++ 编译器。你可以通过运行以下命令来检查:
```
which c++
```
如果没有输出路径,说明你需要安装 C++ 编译器。你可以通过安装适合你系统的 C++ 编译器来解决这个问题。
2. 确保 'liblog' 库已经安装并且可以在编译过程中被找到。你可以通过运行以下命令来确认是否已安装该库:
```
ldconfig -p | grep liblog
```
如果没有输出结果,说明你需要安装 'liblog' 库。你可以通过适合你系统的包管理器或者手动编译安装该库。
3. 如果 'liblog' 库已经安装但是仍然无法找到,你可以尝试在编译命令中显式地指定库的路径。例如,假设 'liblog' 库的路径是 '/path/to/liblog',你可以在编译命令中添加 `-L/path/to/liblog` 来指定库的路径。
请尝试上述步骤来解决问题,如果仍然遇到困难,请提供更多的上下文信息,以便我能够更好地帮助你。
阅读全文