へ: 私はWIN32プログラマーだとこれは、Linuxへの私の最初の進出であるgdk_pixbuf_major_version 『未定義の参照記号「gdk_pixbuf_major_version」私は自分のアプリケーションをリンクすることができません
「シンボルへの未定義参照』を取得しています。 私のターゲットデバイスは、Ubuntu xenial、GTK + 3.18.9です。 gdk_pixbuf_features.hから、Gdk-Pixbufのバージョンは2.32.2です。
私はこれを行う静的ライブラリ(_rUtilitiesLinuxx64)を持っています: GdkPixBuffMajorRunTime = gdk_pixbuf_major_version; 静的ライブラリはうまく構築できます。
私は_rUtilitiesLinuxx64にリンクしているアプリケーション(_rUtilitiesTestLinux)を持っています。
私の仮定はgdk_pixbuf_major_versionが、私は自分のアプリケーションを構築しようとすると、私は未定義取得していますGdk_Pixbuf ライブラリ(/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so)
に実際にあるということです参照 から 'gdk_pixbuf_major_version'
gdk_pixbuf_major_versionはlibgdk_pixbuf-2.0に含まれていないようですか?
Invoking ld
1> g++ -o "/home/rob/projects/_rUtilitiesTestLinux/bin/x64/Debug/_rUtilitiesTestLinux.out" -Wl,--no-undefined -Wl,-L/home/rob/projects/_rUtilitiesLinux/bin/x64/Debug -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
/home/rob/projects/_rUtilitiesTestLinux/obj/x64/Debug/main.o
/home/rob/projects/_rUtilitiesTestLinux/obj/x64/Debug/TestClass.o
/usr/lib/x86_64-linux-gnu/libgtk-3.so
/usr/lib/x86_64-linux-gnu/libgdk-3.so
/usr/lib/x86_64-linux-gnu/libgio-2.0.so
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so
/usr/lib/x86_64-linux-gnu/libpthread.so
/usr/lib/x86_64-linux-gnu/libglib-2.0.so
/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so
-l_rUtilitiesLinuxx64
1> /usr/bin/ld:
/home/rob/projects/_rUtilitiesLinux/bin/x64/Debug/lib_rUtilitiesLinuxx64.a(_rGraphwSystem.o):/usr/bin/ld:
/home/rob/projects/_rUtilitiesLinux/bin/x64/Debug/lib_rUtilitiesLinuxx64.a(_rGraphwSystem.o): undefined reference to symbol 'gdk_pixbuf_major_version'
1> /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so: error adding symbols: DSO missing from undefined reference to symbol 'gdk_pixbuf_major_version'
1> /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so: error adding symbols: DSO missing from command line
1> command line
1> collect2: error: ld returned 1 exit status
1> collect2: error: ld returned 1 exit status
1> /usr/bin/ld : error : undefined reference to symbol 'gdk_pixbuf_major_version'
1> /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so : error : DSO missing from command line
1> collect2 : error : ld returned 1 exit status
ここで、gdk_pixbuf_major_versionはどこですか? documentationから
Joseさん、ありがとうございますが、私の問題はコンパイルの問題ではなく、リンクの問題です。 – RSullivan