2014-05-24 35 views
2

我知道这是如此简单的事情我会讨厌自己不得不问,但是我的头在桌面上反复点击很痛苦。我读过几十个计算器和谷歌搜索结果的这表明,下面应该工作:链接到libusb

$ ls /usr/local/lib/libusb* 
/usr/local/lib/libusb-1.0.a /usr/local/lib/libusb-1.0.so /usr/local/lib/libusb-1.0.so.0.1.0 
/usr/local/lib/libusb-1.0.la /usr/local/lib/libusb-1.0.so.0 
$ gcc -I ~/libusb-1.0.18/libusb -c test.c 
$ gcc -L/usr/local/lib -o test test.o -llibusb 
/usr/bin/ld: cannot find -llibusb 
collect2: error: ld returned 1 exit status 
$ gcc -L/usr/local/lib -o test test.o -llibusb-1.0 
/usr/bin/ld: cannot find -llibusb-1.0 
collect2: error: ld returned 1 exit status 

这是为什么不正确?其中一个应该工作,我已经尝试了很多,更多的变化。

为了完整起见,我运行的是Ubuntu 14.04(全新VM安装)。

我建的libusb从源(〜/的libusb-1.0.18)有:

./configure --disable-udev 
make 
sudo make install 

回答

7

领先lib和尾随.so链接器会自动填入,所以你不应该指定的命令或者线。您的命令应该是:

gcc -L/usr/local/lib -o test test.o -lusb-1.0