【问题标题】:How to build GTK+ APP for ARM based of Linux platform如何构建基于Linux平台的ARM GTK+ APP
【发布时间】:2017-03-17 07:10:44
【问题描述】:

你能帮忙解决这个问题吗?

我正在尝试为基于飞思卡尔 i.MX-6 arm 的处理器交叉编译示例 GTK+ 应用程序

我已经导出了我的工具链路径

**export PATH=/u02/tools/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH** 

我正在尝试使用以下序列交叉编译应用程序

**arm-none-linux-gnueabi-gcc  gtk-frameless.c -o frameless `pkg-config --cflags=-I/U02/tools/DOP/imx6/rootfs/usr/include gtk+-2.0` `pkg-config --libs=-L/U02/tools/DOP/imx6/rootfs/usr/lib/ -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  -lfontconfig  -lgobject-2.0 -lglib-2.0 -lfreetype`**

我遇到了以下错误

**-lgtk-x11-2.0:未知选项 /tmp/ccn3JmIw.o:在函数main': gtk-frameless.c:(.text+0x24): undefined reference togtk_init'

gtk-frameless.c:(.text+0x2c): 对 `gtk_window_new' 的未定义引用

gtk-frameless.c:(.text+0x38): 对 `gtk_widget_show' 的未定义引用

gtk-frameless.c:(.text+0x3c): undefined reference to `gtk_main'

collect2: ld 返回 1 个退出状态**

在我的情况下,我想我无法正确指定库的路径..?

我的猜测是正确的还是除此之外我做错了什么,请指导我,使其编译或提供相关文档的链接,以便我自己尝试。

任何事情都会有帮助。

谢谢

【问题讨论】:

    标签: arm gtk cross-compiling


    【解决方案1】:

    我想我无法正确指定库的路径..?

    是的。仔细查看您传递的实际标志。这些调用实际上不起作用(尝试它们并查看结果):

    pkg-config --cflags=-I/U02/tools/DOP/imx6/rootfs/usr/include gtk+-2.0
    pkg-config --libs=-L/U02/tools/DOP/imx6/rootfs/usr/lib/ -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  -lfontconfig  -lgobject-2.0 -lglib-2.0 -lfreetype
    

    你有两个基本选择:要么像这样使用 pkg-config

    pkg-config --cflags gtk+-2.0
    pkg-config --libs gtk+-2.0
    

    它为您提供您的 pkg-config 知道的库和标头...

    或者您手动构建包含和链接器标志以指向交叉编译目标头和库位置。

    如果幸运的话,您也许可以使用 PKG_CONFIG_SYSROOT_DIR 和 PKG_CONFIG_LIBDIR 环境变量来启用 pkg-config 的使用,即使是交叉编译(参见 pkg-config 文档)。一些交叉开发环境(比如 Yocto/openembedded)会为你做这件事。

    【讨论】:

    • 如果我正在执行 pkg-config --cflags=-I.. 和 pkg-config --libs=-L.. 如您所说,我收到以下错误“-lgtk-x11- 2.0:未知选项”。
    • 是的,这些调用没有任何意义:“--cflags”和“--libs”不带参数,“-l”根本不是 pkg-config 选项。请参阅 pkg-config 文档
    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多