0

ダウンロードされた大きなパッケージについて、いくつかの機能強化を行う必要があります。メインフォルダーが次のようなものであると仮定します

.../プロジェクト

そこには

.../proj/Makefile

プロジェクトのコンパイルに使用されます。

新しいフォルダを追加しました

.../proj/feature1/file1.h .../proj/feature1/file1.c

file1.c は file1.h をインクルードします

それで

#include "feature1/file1.h"

その後、Makefileが実行されると、次のようなコマンドで停止しました

gcc -c feature1/file1.c -I. ...

file1.h のインクルードに失敗したように表示されるエラー メッセージ

エラーを引き起こすことなく、同じコードを別のインスタンスでコンパイルできます。どちらのインスタンスも ubuntu 10.04 です。それらが同一であるとは言いませんが、非常に似ているはずです。何がうまくいかなかったのですか?ありがとう。

ジェームズ

4

3 に答える 3

2

gcc への「-I」パラメーターに依存します。フォルダー「feature1」がその中にあり、その親ではない場合、失敗します。その親がその中にある場合、それは成功します。

あなたの場合(「-I.」)、その親ではなく、検索パスにある「feature1」です。

includeまた、他の人が述べたように、両方のファイルが同じディレクトリにあるため、「 」ディレクティブにディレクトリ名は必要ありません。

于 2013-03-02T08:27:46.207 に答える
1
file1.c is to include file1.h

この場合、両方のファイルが同じフォルダーにあるため、次のようにする必要があると思います。

#include "file1.h"
于 2013-03-02T08:29:33.673 に答える
0

.h ファイルと .c ファイルが同じディレクトリにある場合、インクルードは次のようになると思います。

#include "file1.h"
于 2013-03-02T08:29:34.630 に答える