我没办法把我的应用程序链接: 我得到“未定义参考符号‘gdk_pixbuf_major_version’未定义的参考符号“gdk_pixbuf_major_version”
我是一个Win32程序员,这是我首次涉足Linux操作系统。 我的目标设备是Ubuntu xenial,GTK + 3.18.9。 从gdk_pixbuf_features.h Gdk-Pixbuf版本是2.32.2。我有一个静态库(_rUtilitiesLinuxx64)这样做: GdkPixBuffMajorRunTime = gdk_pixbuf_major_version;我有一个静态库(_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在哪里呢?
谢谢Jose,但我的问题不是编译问题,它是一个链接问题。 – RSullivan