お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2016-09-01 20:53:16

volpetta09
新しいメンバ
登録日: 2016-09-01

GLibについて

環境: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」

というメッセージがでます。

よろしくお願いいたします。

オフライン

 

#2 2016-09-01 21:24:17

Mocchi
管理者
登録日: 2009-05-17

Re: GLibについて

volpetta09 による投稿:

gcc `pkg-config glib-2.0 --cflags --libs` main.c

以下はいかがでしょう?

コード:

$ gcc main.c `pkg-config glib-2.0 --cflags --libs`

オフライン

 

#3 2016-09-01 22:05:47

volpetta09
新しいメンバ
登録日: 2016-09-01

Re: GLibについて

「gcc main.c `pkg-config glib-2.0 --cflags --libs`」
で無事コンパイルすることができました。

順序にも気をつけないといけないのですね。
ありがとうございました。

オフライン

 

#4 2016-09-01 23:32:44

Mocchi
管理者
登録日: 2009-05-17

Re: GLibについて

volpetta09 による投稿:

順序にも気をつけないといけないのですね。

libm (math.h) のsqrt(3) 使うような簡単なコードを書いてコンパイルしてみると、より実感が湧くかと思います。別に他のライブラリでもよいですが。

オフライン

 

#5 2016-09-21 20:34:11

volpetta09
新しいメンバ
登録日: 2016-09-01

Re: GLibについて

お返事遅くなってすいません。
いろいろ試してみて、とりあえず順序については実感することができました。
ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB