5

gcc を使用して ubuntu でプログラムをコンパイルしようとすると、次のエラーが発生します。

main.c:(.text+0x162): json_parse' main.c:(.text+0x182): undefined reference tojson_value_free への未定義の参照'

ただし、これらの関数は json.h というファイルに含まれており、これを main.c にインポートし、gcc コマンドに含めます。

誰でも手がかりを得ましたか?

4

1 に答える 1

8

「json.h」ヘッダーをコンパイルしないでください。未定義の参照はコンパイラ エラーではなくリンカー エラーです。これは、json_value_free を含むファイルをコードにコンパイルしていないか、それを含むライブラリにリンクしていないことを意味します。ヘッダー ファイル自体をコンパイルしようとする代わりに、いずれかのアクションを実行する必要があります。

したがって、別の json.c ファイルがある場合は、それをコンパイルして main.c ファイルにもリンクする必要があります。試してください(GCCを想定しています):

gcc -o myprog main.c json.c
于 2012-06-27T18:51:39.693 に答える