2

私のプロジェクトは、ジャンクヤードというディレクトリにあります。ジャンクヤードの中にはtest.c、 と include というフォルダーがあります。

私のコードは次のようになります。

#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
}

また、2 つのヘッダー ファイルはインクルード フォルダー内にあります (これもプロジェクトのルート ディレクトリにあります。したがって、構造に必要なファイルは次のように配置されます。

ジャンクヤード/test.c

ジャンクヤード/インクルード/mysql.h

ジャンクヤード/インクルード/my_global.h

WindowsでGCCを使用していることに注意してください。プログラムをコンパイルできず、いくつかの方法を試しました。ヘッダー ファイルを正しくリンクするにはどうすればよいですか? ありがとう。

4

1 に答える 1

5

#includeまず、構文の違い:

  • #include <>「コンパイラディレクトリ」からファイルを含めることを意味します(プリプロセッサオプション-Iで設定できます)
  • #include ""「ローカルディレクトリ」からファイルを含めることを意味します

プロジェクトからファイルをインクルードする場合は、おそらく次を使用する必要があります。

#include "include/mysql.h"
#include "include/my_global.h"

(何らかの理由で)引き続き#include <>gcc を使用する場合は、次のようにします。

gcc -Iinclude test.c
于 2012-10-13T20:10:04.300 に答える