我正在使用gtk + 3.0交叉编译到我的覆盆子pi。
问题是我使用sudo apt-get install libgtk-3-dev
从存储库安装了gtk + 3.0,我得到版本3.14.5。
出于其他原因,我必须手动安装版本3.22.12。在此版本中,gtk_label_set_xalign存在,但链接器无法找到它们。
这是错误和gcc调用:
Building target: ConsolaGrafica
Invoking: Cross GCC Linker
arm-linux-gnueabihf-gcc -L/lib/arm-linux-gnueabihf -L/opt/x-tools/rootfs/rpi/home/pi/jsmn -L/usr/lib/gcc-cross/arm-linux-gnueabi/5/ -L/opt/x-tools/rootfs/rpi/home/pi/linechart-dist/anychart -L/usr/local/lib -L/usr/lib/arm-linux-gnueabihf --sysroot=/opt/x-tools/rootfs/rpi 'pkg-config --libs gmodule-export-2.0' /opt/x-tools/rootfs/rpi/usr/lib/arm-linux-gnueabihf/libstdc++.so.6 -o "ConsolaGrafica" ./src/home/Home_Alarms.o ./src/home/Home_Cooling.o ./src/home/Home_Houses.o ./src/home/Home_Sensors.o ./src/gtk-linechart/gtk-linechart.o ./src/dialogs/Setup_Alarms.o ./src/dialogs/Setup_Cooling_Reduction.o ./src/dialogs/Setup_Exits.o ./src/dialogs/Setup_Heating.o ./src/dialogs/Setup_Lighting.o ./src/dialogs/Setup_ProbeEnable.o ./src/dialogs/Setup_Progression.o ./src/dialogs/Setup_Super_Coolers.o ./src/dialogs/Setup_Super_Cooling.o ./src/dialogs/Setup_Super_ProbeCal.o ./src/dialogs/Setup_TimeDate.o ./src/dialogs/Setup_Weight.o ./src/dialogs/ask_passcode.o ./src/customwidgets/circulargauge.o ./src/Database.o ./src/EditableTable.o ./src/Keypad.o ./src/LogView.o ./src/Main.o ./src/SaveConfig.o ./src/StatusBar.o ./src/UpdateConfig.o ./src/UpdateStatus.o ./src/callbacks.o -lvlc -lgtk-3 -lX11 -lgstvideo-1.0 -lgstreamer-1.0 -lcurl -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgmodule-2.0 -lpthread -lmysqlclient -lz -ldl -lm -lpangoft2-1.0 -lfontconfig -lfreetype -lgthread-2.0 -lanychart -lstdc++ -ljsmn
./src/home/Home_Houses.o: In function 'vHomeHousesUpdate':
/RaspberryPiDebug/../src/home/Home_Houses.c:56: undefined reference to 'gtk_label_set_xalign'
/RaspberryPiDebug/../src/home/Home_Houses.c:59: undefined reference to 'gtk_label_set_xalign'
作为库搜索路径我首先有/ usr / local / lib(我有最新版本)和第二个/ usr / lib / arm-linux-gnueabihf我安装了旧版本。
所以,我认为应该建立这个功能..
答案 0 :(得分:0)
某些gtk开发邮件列表告诉我,我需要运行sudo /sbin/ldconfig
来为运行时库创建链接和缓存。这不解决我的问题,在我的情况下,我将库的位置路径设置为编译器和工作。我找到了运行locate libgtk-3.so
的新库的位置,并插入了raspberry pi文件系统的完整路径。