unix 从源代码编译库(3LIB)

9wbgstp7  于 2023-01-05  发布在  Unix
关注(0)|答案(1)|浏览(297)

各位,
我正在ubuntu上写一个使用posix共享内存和semophores的程序。我试图直接链接到板载/usr/lib/x86_64-linux-gnu/librt.so,但是共享对象库与我的程序不兼容。确切的链接错误如下...

/usr/bin/ld: libopticalheadShMutils.a(shmutils.cpp.o): undefined reference to symbol 'sem_post@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

问:我需要做什么来使用这个库?我想我需要从源代码编译一个新的非系统库--这是正确的方法吗?哪里是获得源代码的最佳位置?

ru9i0ody

ru9i0ody1#

终于解决了。我没有链接到posix线程库,这是使用librt时所必需的。关于ABI不兼容问题-unix库应该都是C89,因此兼容-我错了。

相关问题