
Ubuntu日本語フォーラム

ログインしていません。
環境:Ubuntu 16.04 64bit 日本語 Remix
GLib 2.48
ソースコード:
#include <glib.h>
int main(int argc, char *argv[])
{
g_option_group_unref(NULL);
return 0;
}
(※状況説明用なのでg_option_group_unrefにNULLを指定してます)
状況:
gcc `pkg-config glib-2.0 --cflags --libs` main.c
を実行すると、
「main.c:(.text+0x15): `g_option_group_unref' に対する定義されていない参照です
collect2: error: ld returned 1 exit status」というメッセージがでます。
gcc `pkg-config gobject-2.0 --cflags --libs` main.c
としても同様です。
g_option_group_unrefではダメなのかと思い、g_option_group_freeを代わりに使用しても
「main.c: In function ‘main’:
main.c:5:2: warning: ‘g_option_group_free’ is deprecated [-Wdeprecated-declarations]
g_option_group_free(NULL);
^
In file included from /usr/include/glib-2.0/glib.h:64:0,
from main.c:1:
/usr/include/glib-2.0/glib/goption.h:368:15: note: declared here
void g_option_group_free (GOptionGroup *group)
^
/tmp/ccjYVe1t.o: 関数 `main' 内:
main.c:(.text+0x15): `g_option_group_free' に対する定義されていない参照です
collect2: error: ld returned 1 exit status」
というメッセージがでます。
よろしくお願いいたします。
オフライン
volpetta09 による投稿:
gcc `pkg-config glib-2.0 --cflags --libs` main.c
以下はいかがでしょう?
$ gcc main.c `pkg-config glib-2.0 --cflags --libs`
オフライン
「gcc main.c `pkg-config glib-2.0 --cflags --libs`」
で無事コンパイルすることができました。
順序にも気をつけないといけないのですね。
ありがとうございました。
オフライン
volpetta09 による投稿:
順序にも気をつけないといけないのですね。
libm (math.h) のsqrt(3) 使うような簡単なコードを書いてコンパイルしてみると、より実感が湧くかと思います。別に他のライブラリでもよいですが。
オフライン
お返事遅くなってすいません。
いろいろ試してみて、とりあえず順序については実感することができました。
ありがとうございました。
オフライン