【发布时间】:2013-09-13 15:23:33
【问题描述】:
我正在尝试在 Linux (Ubuntu) 下的 Eclipse 中使用 gtkmm 为 Raspberry Pi 交叉编译 C++ 程序。我最初使用找到的指南 here 设置了交叉编译器,它运行良好。
当我随后将#include <gtkmm.h> 添加到程序时,Eclipse 找不到该库。通过转到(项目)Properties->C/C++ Build->Settings,然后将 pkg-config gtkmm-3.0 --cflags --libs 添加到 Cross G++ Compiler->Miscellaneous->Other flags,选择详细(-v)并将 pkg-config gtkmm-3.0 --cflags --libs 添加到 Cross G++ 链接器->杂项->链接器标志。 (在 Eclipse 中,添加的两个标志都用 `,而不是 ' 符号括起来,尽管这里没有显示。)
现在 Eclipse 给出以下错误:/usr/include/cairo/cairo-ft.h:46:22: fatal error: ft2build.h: No such file or directory。文件 ft2build.h 存在于我的计算机上 /usr/include,但 Eclipse 看不到它,我没有运气寻找解决方案。有什么建议吗?
谢谢
更新:经过大量搜索后,我在 gtkmm 使用的 cairo 库中禁用了 freetype 字体。这是通过在cairo-features.h 中注释掉#define CAIRO_HAS_FT_FONT 1 来完成的。下一个问题是 Eclipse 找不到 gtkmm 使用的库,所以我在 (project)Properties->C/C++ General->Paths and Symbols->Library paths 中添加了\usr\libs。完成所有这些后,它在尝试构建时返回以下错误:/usr/lib//libgtkmm-3.0.so: file not recognized: File format not recognized。不过,这种文件格式似乎是标准的,那么现在出了什么问题?
【问题讨论】:
标签: linux eclipse cross-compiling raspberry-pi gtkmm