我正在尝试编写一个systemd
使用看门狗的服务,然后
sudo apt install libsystemd-dev
我检查以确保它可用:
$ ldconfig -p |grep systemd
libsystemd.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libsystemd.so.0
libsystemd.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libsystemd.so
libnss_systemd.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libnss_systemd.so.2
然后检查以确保链接器可以找到它:
$ echo "int main(){}" | gcc -x c++ -Wl,--no-as-needed -llibsystemd - && ldd a.out | grep libsystemd
/usr/bin/ld: cannot find -llibsystemd
collect2: error: ld returned 1 exit status
为什么ld
找不到呢?
-llibsystemd
不寻找libsystemd
- 它寻找liblibsystemd
如中所述
man g++
:所以你要
-lsystemd