gcc を使用して ubuntu でプログラムをコンパイルしようとすると、次のエラーが発生します。
main.c:(.text+0x162):
json_parse' main.c:(.text+0x182): undefined reference to
json_value_free への未定義の参照'
ただし、これらの関数は json.h というファイルに含まれており、これを main.c にインポートし、gcc コマンドに含めます。
誰でも手がかりを得ましたか?
gcc を使用して ubuntu でプログラムをコンパイルしようとすると、次のエラーが発生します。
main.c:(.text+0x162):
json_parse' main.c:(.text+0x182): undefined reference to
json_value_free への未定義の参照'
ただし、これらの関数は json.h というファイルに含まれており、これを main.c にインポートし、gcc コマンドに含めます。
誰でも手がかりを得ましたか?
「json.h」ヘッダーをコンパイルしないでください。未定義の参照はコンパイラ エラーではなく、リンカー エラーです。これは、json_value_free を含むファイルをコードにコンパイルしていないか、それを含むライブラリにリンクしていないことを意味します。ヘッダー ファイル自体をコンパイルしようとする代わりに、いずれかのアクションを実行する必要があります。
したがって、別の json.c ファイルがある場合は、それをコンパイルして main.c ファイルにもリンクする必要があります。試してください(GCCを想定しています):
gcc -o myprog main.c json.c