Tôi đang cố gắng liên kết một ứng dụng với g ++ trên hệ thống lenny Debian này. ld đang phàn nàn nó không thể tìm thấy các thư viện được chỉ định. Ví dụ cụ thể ở đây là ImageMagick, nhưng tôi cũng gặp vấn đề tương tự với một vài thư viện khác.
Tôi đang gọi trình liên kết với:
g++ -w (..lots of .o files/include directories/etc..) \
-L/usr/lib -lmagic
ld phàn nàn:
/usr/bin/ld: cannot find -lmagic
Tuy nhiên, libmagic tồn tại:
$ locate libmagic.so
/usr/lib/libmagic.so.1
/usr/lib/libmagic.so.1.0.0
$ ls -all /usr/lib/libmagic.so.1*
lrwxrwxrwx 1 root root 17 2008-12-01 03:52 /usr/lib/libmagic.so.1 -> libmagic.so.1.0.0
-rwxrwxrwx 1 root root 84664 2008-09-09 00:05 /usr/lib/libmagic.so.1.0.0
$ ldd /usr/lib/libmagic.so.1.0.0
linux-gate.so.1 => (0xb7f85000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7f51000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7df6000)
/lib/ld-linux.so.2 (0xb7f86000)
$ sudo ldconfig -v | grep "libmagic"
libmagic.so.1 -> libmagic.so.1.0.0
Làm thế nào để tôi chẩn đoán vấn đề này hơn nữa, và điều gì có thể sai? Tôi đang làm một cái gì đó hoàn toàn ngu ngốc?