ibstdc++.so.6: error adding symbols: DSO missing from command line
时间: 2023-11-06 18:26:13 浏览: 50
这个错误通常是由于链接库的顺序不正确所引起的。在链接时,应该先链接依赖库,然后再链接目标库。
对于libstdc++.so.6这个库,它是C++标准库的一部分,因此在链接时需要把它放在最后面。
例如,如果你的编译命令是这样的:
```
g++ -o myprog myprog.o -lfoo -lbar -lstdc++
```
那么你需要将-lstdc++放在最后面,像这样:
```
g++ -o myprog myprog.o -lfoo -lbar -lstdc++
```
这样就能正确链接libstdc++.so.6库了。
相关问题
libavcodec.so.58: error adding symbols: DSO missing from command line
这个错误通常意味着在链接时缺少动态共享对象(DSO)的命令行参数。当使用gcc或g++编译器时,你可以尝试在命令行中添加`-lavcodec`参数来解决这个问题。这将告诉编译器链接libavcodec库。
例如,你可以尝试以下命令进行编译:
```
gcc your_file.c -o output -lavcodec
```
请确保libavcodec库已正确安装,并在编译时使用正确的路径。
//usr/lib/libpcl_io.so.1.9: error adding symbols: DSO missing from command line
这个错误通常是由于链接库不正确的原因导致的。可能是您在链接时没有将所需的库添加到命令行中。
您可以尝试以下两种解决方法:
1. 在链接命令中添加缺失的库,例如:
gcc -o my_program my_program.c -lpcl_io
2. 确保库文件已正确安装并在系统库路径中。您可以通过以下命令找到库文件:
find / -name "libpcl_io.so.1.9"
然后将路径添加到LD_LIBRARY_PATH环境变量中:
export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH
然后重新编译并链接您的程序。
希望这可以帮助您解决问题!