c/c++语言开发共享将GTK3.0项目移植到GTK2.0

我正在构建一个简单的GUI应用程序,我已成功部署并运行在我的Raspberry PI开发板上。 但是,由于OpenCV依赖于GTK + v2.0的问题,我必须将我的应用程序反向移植到旧版本的GTK +。 我已经熟悉改变包含路径等等,以及我的makefile中的库链接命令。 但是,当我进行所有必要的更改时,在构建期间会发生致命错误。

Building dependencies file for main.o In file included from /opt/rpi/usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /opt/rpi/usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /opt/rpi/usr/include/gtk-2.0/gdk/gdk.h:32, from /opt/rpi/usr/include/gtk-2.0/gtk/gtk.h:32, from inc/ui.h:8, from main.c:10: /opt/rpi/usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory 

我已经确认我的GTK + v3.0安装缺少文件gdkconfig.h

 find /opt/rpi/usr/include -iname "gdkconfig*" ./gtk-3.0/gdk/gdkconfig.h 

但是我的GTK + v2.0安装没有这样的文件。 我已经通过apt-get安装了最新版本,但仍然没有运气。

这个问题有什么解决方案吗?

谢谢。

    事实certificate,某些文件夹,包括那些在路径中使用arm-linux-gnueabihf文件夹,我没有手动包含它们应该拥有的文件夹。 最后,我将SSH连接到RPI设备,并复制以下命令的输出:

     pkgconfig --clfags --libs gtk+-2.0 

    然后我复制了所有include目录语句(即:以-I开头的语句)并创建了一个包含该大量字符串的变量,并为所有库包含做了类似的操作。 以上命令的输出如下。

     -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 

    所以,简而言之,这是有效的,我甚至不需要改变我的代码的一行。 现在一切正常。

      以上就是c/c++开发分享将GTK3.0项目移植到GTK2.0相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/523263.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐