2016-07-26 11 views
2

を見つけることができない、(私はreadmeの指示に従ってインストール)ヘッダファイルを見つけることができないよう:コンパイラはCで私の最初のアプリケーションの作成インストールライブラリヘッダに

#include <stdio.h> 
#include <stdlib.h> 
#include <ftdi.h> 

int main (int argc, char *argv[]) 
{ 
int ret; 
struct ftdi_context = *ftdi; 
struct ftdi_version_info version; 
if ((ftdi = ftdi_new()) == 0) 
{ 
    fprintf(stderr, "ftdi_new failed\n"); 
} 
else { 
    fprintf(stderr, "Success\n"); 
} 
return 0; 
} 

しかし、それが見つかりましたここで:

[email protected] ~/Documents/BitBang $ locate ftdi.h 
/home/ollieb/.local/share/Trash/files/libftdi/libftdi/ftdipp/ftdi.hpp 
/home/ollieb/.local/share/Trash/files/libftdi/libftdi/src/ftdi.h 
/home/ollieb/Applications/libftdi1-1.3/build/doc/html/group__libftdi.html 
/home/ollieb/Applications/libftdi1-1.3/build/doc/man/man3/ftdi.h.3 
/home/ollieb/Applications/libftdi1-1.3/build/doc/man/man3/ftdi.hpp.3 
/home/ollieb/Applications/libftdi1-1.3/ftdipp/ftdi.hpp 
/home/ollieb/Applications/libftdi1-1.3/src/ftdi.h 
/usr/include/libftdi1/ftdi.h 
/usr/include/libftdi1/ftdi.hpp 

これは私がコンパイルしようとすると何が起こるか、それは(私は、彼らが正常に動作コードライブラリフォルダ内の例を実行したときに)ファイルが見つからないと言う:

[email protected] ~/Documents/BitBang $ make 
make bitbang 
make[1]: Entering directory '/home/ollieb/Documents/BitBang' 
cc -Wall -g  bitbang.c -o bitbang 
bitbang.c:3:18: fatal error: ftdi.h: No such file or directory 
compilation terminated. 
<builtin>: recipe for target 'bitbang' failed 
make[1]: *** [bitbang] Error 1 
make[1]: Leaving directory '/home/ollieb/Documents/BitBang' 
Makefile:4: recipe for target 'all' failed 
make: *** [all] Error 2 
+0

正確なエラーメッセージは何ですか? – rubikonx9

+1

あなたの 'ftdi.h'のコピー(*は多く*)は非標準の場所にあり、コンパイラはいくつかの場所でヘッダだけを検索します。おそらく '-I/usr/include/libftdi1'が動作するコンパイラコマンドのパスを追加する必要があります。 –

答えて

5

デフォルトでは、コンパイラはファイルシステム全体ではなく、デフォルトのINCLUDEパスでヘッダファイルを検索します。

ヘッダーがカスタムパスにある場合は、そのことについてコンパイラに通知する必要があります。たとえば、gccclangを使用すると、-Iスイッチを使用して、ヘッダーファイルが存在するパスをコンパイラに知らせることができます。 gcc online manualから

-Idir
ヘッダファイルを検索するディレクトリのリストの先頭にディレクトリdirを追加します。 [...]

+0

それでは、それを私のmakeファイルにどのように追加しますか? – ollie299792458

+0

ありがとう@iharobの追加。 :) –

+0

はい私はclangコンパイラがOS Xで非常に一般的だと思います。 –

関連する問題