2011-09-19 9 views
0

Ubuntu LinuxでCodeブロックを使用しています。ライブラリlibusbを使ってプログラムを書いてみたいと思います。私はこのファイルをシステムに持っていますが、IDEのコンパイラはこのファイルを見つけることができません。私はこのファイルをビルドオプションで追加しますが、それは助けにはなりません。この問題の解決策は何ですか?libusbがIDEで表示されない

#include <libusb.h> 

アップデート:以下

dpkg -L libusb-devショー:

/. 
/usr 
/usr/bin 
/usr/bin/libusb-config 
/usr/include 
/usr/include/usb.h 
/usr/lib 
/usr/lib/libusb.a 
/usr/lib/libusb.la 
/usr/lib/pkgconfig 
/usr/lib/pkgconfig/libusb.pc 
/usr/share 
/usr/share/doc 
/usr/share/doc/libusb-dev 
/usr/share/doc/libusb-dev/changelog.gz 
/usr/share/doc/libusb-dev/html 
/usr/share/doc/libusb-dev/html/index.html 
/usr/share/doc/libusb-dev/html/preface.html 
/usr/share/doc/libusb-dev/html/intro.html 
/usr/share/doc/libusb-dev/html/intro-overview.html 
/usr/share/doc/libusb-dev/html/intro-support.html 
/usr/share/doc/libusb-dev/html/api.html 
/usr/share/doc/libusb-dev/html/api-device-interfaces.html 
/usr/share/doc/libusb-dev/html/api-timeouts.html 
/usr/share/doc/libusb-dev/html/api-types.html 
/usr/share/doc/libusb-dev/html/api-synchronous.html 
/usr/share/doc/libusb-dev/html/api-return-values.html 
/usr/share/doc/libusb-dev/html/functions.html 
/usr/share/doc/libusb-dev/html/ref.core.html 
/usr/share/doc/libusb-dev/html/function.usbinit.html 
/usr/share/doc/libusb-dev/html/function.usbfindbusses.html 
/usr/share/doc/libusb-dev/html/function.usbfinddevices.html 
/usr/share/doc/libusb-dev/html/function.usbgetbusses.html 
/usr/share/doc/libusb-dev/html/ref.deviceops.html 
/usr/share/doc/libusb-dev/html/function.usbopen.html 
/usr/share/doc/libusb-dev/html/function.usbclose.html 
/usr/share/doc/libusb-dev/html/function.usbsetconfiguration.html 
/usr/share/doc/libusb-dev/html/function.usbsetaltinterface.html 
/usr/share/doc/libusb-dev/html/function.usbresetep.html 
/usr/share/doc/libusb-dev/html/function.usbclearhalt.html 
/usr/share/doc/libusb-dev/html/function.usbreset.html 
/usr/share/doc/libusb-dev/html/function.usbclaiminterface.html 
/usr/share/doc/libusb-dev/html/function.usbreleaseinterface.html 
/usr/share/doc/libusb-dev/html/ref.control.html 
/usr/share/doc/libusb-dev/html/function.usbcontrolmsg.html 
/usr/share/doc/libusb-dev/html/function.usbgetstring.html 
/usr/share/doc/libusb-dev/html/function.usbgetstringsimple.html 
/usr/share/doc/libusb-dev/html/function.usbgetdescriptor.html 
/usr/share/doc/libusb-dev/html/function.usbgetdescriptorbyendpoint.html 
/usr/share/doc/libusb-dev/html/ref.bulk.html 
/usr/share/doc/libusb-dev/html/function.usbbulkwrite.html 
/usr/share/doc/libusb-dev/html/function.usbbulkread.html 
/usr/share/doc/libusb-dev/html/ref.interrupt.html 
/usr/share/doc/libusb-dev/html/function.usbinterruptwrite.html 
/usr/share/doc/libusb-dev/html/function.usbinterruptread.html 
/usr/share/doc/libusb-dev/html/ref.nonportable.html 
/usr/share/doc/libusb-dev/html/function.usbgetdrivernp.html 
/usr/share/doc/libusb-dev/html/function.usbdetachkerneldrivernp.html 
/usr/share/doc/libusb-dev/html/examples.html 
/usr/share/doc/libusb-dev/html/examples-code.html 
/usr/share/doc/libusb-dev/html/examples-tests.html 
/usr/share/doc/libusb-dev/html/examples-other.html 
/usr/share/doc/libusb-dev/copyright 
/usr/share/doc/libusb-dev/changelog.Debian.gz 
/usr/share/doc-base 
/usr/share/doc-base/libusb-dev 
/usr/share/man 
/usr/share/man/man1 
/usr/share/man/man1/libusb-config.1.gz 
/usr/lib/libusb.so 

しかし、私は#include <usb.h>#include <libusb.h>を変更し、このコードコンパイルしようとすると:

#include <stdio.h> 
#include <stdlib.h> 
#include <usb.h> 
int main(){ 
    usb_init(); 
    printf("Hello world!\n"); 
    return 0; 
} 

を私が取得次のエラー:

undefined reference to 'usb_init' 
+0

ボーランドは、コードブロックとは何の関係もない、とのBorland C++コンパイラは、唯一のWin32のために存在するので、私は言葉「ボーランド」は、あなたの質問から削除されなければならないと考えていますか? –

+0

すべての返信ありがとうございます。私はgcc 4.4.5を使用していますが、彼の "ファイルまたはディレクトリが見つかりませんでした"が無料で英語に翻訳されています。 私はOS libusb-devパケットを持っています。 – user902691

+0

更新された回答を確認してください。私は間違ったヘッダファイル名を指定していると感じています。 –

答えて

1

libusb-devのように見えます。

それとも

適切であるかを調べるためにlibusb-devパッケージ内のすべてのファイルを一覧表示するdpkg -L libusb-devを実行し、ファイル名を含め、それは場所です。ほとんどの場合、あなたはあなたに含ま変えてしまいます。

#include <usb.h> 

はまた、それだけでプログラムにヘッダを追加することは十分ではありません - あなたは内で宣言されているこれらのシンボルを使用するようにリンクされなければならないものをライブラリ示す必要がありますヘッダーあなたのコンパイラオプションに以下を追加します。

-lusb 
関連する問題