问题: undefined reference to symbol ‘dlsym@@GLIBC_2.4
- 解决参考
问题:undefined reference to symbol ‘pthread_mutexattr_init@@GLIBC_2.2.5’
- 已经正确安装pthread库,
sudo apt-get install libpthread-stubs0-dev
/usr/bin/ld: output/libs/libxxx.so: undefined reference to symbol 'pthread_mutexattr_init@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libpthread.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
GPT解答:
如果你已经在编译命令中包含了 -lpthread 选项,但仍然遇到上述错误,可能是由于链接顺序或其他配置问题。以下是一些可能的解决方案:
1. 确保链接顺序正确
确保 -lpthread 选项放在所有源文件和对象文件之后。例如:
g++ -fPIC -shared -o output/libs/libmcntl.so main.cpp -lpthread
确保 -lpthread 选项放在所有源文件和对象文件之后