gdk 関数を呼び出す gtk プログラムがあります。私は以下を使用してプログラムをコンパイルしています:
gcc `pkg-config --cflags --libs gtk+-2.0 cairo glib-2.0` ...
そして私は含めました
#include <gdk/gdk.h>
それは私にエラーを与えます:
undefined reference to `gdk_device_ungrab'
私が間違っていることを誰かが知っていますか?
gtk 2.x に対してコンパイルおよびリンクしておりgdk_device_ungrab
、gtk 3.0 以降でのみ使用できます。
参照: http://developer.gnome.org/gdk3/3.4/GdkDevice.html#gdk-device-ungrab
コマンド ラインでは、ライブラリの前にソース ファイルまたはオブジェクト ファイルを配置する必要があります。
リンカーは、コマンド ラインで指定された順序でオブジェクトとライブラリを追加します。gdk ライブラリがソース ファイルの前にリストされている場合、リンカーは手遅れになるまで、コードにライブラリが必要であることを知りません。