私は持っています:
GFile* gf = g_file_new_for_path(file_path);
私のコードで。しかし、コンパイルしようとすると、次のエラーが表示されます。
未定義の参照: 'g_file_new_for_path'
私が持っているインクルードセクションで#include <gio/gio.h>
このコードのどこが間違っていますか?
あなたの質問にタグを付け直しました。これは GTK+ ではなく、gio です。
コメントに従って発見したように、問題は適切なライブラリとリンクしていないことが原因でした。これは、C では、単にヘッダーをインクルードするだけでは、そのヘッダーで宣言されたものを実装するコードがどこにあるかをコンパイラーに伝えないためです。これを行うには、通常、適切なライブラリとリンクする必要があります (または、独自のプロジェクト内で行うように、コードを直接コンパイルします)。
ちなみに、ライブラリを参照するための推奨される方法は、pkg-configなどのツールを使用することです。次に、コンパイルは次のようになります。
$ gcc -o mygiotest mygiotest.c $(pkg-config --cflags --libs glib-2.0 gobject-2.0 gio-2.0)
上記を再確認する必要があります。これを入力しているときは Linux を使用していないため、正確なパッケージ名を確認できません。