我正在尝试在 Linux(Ubuntu)下的 Eclipse 中使用 gtkmm 为 Raspberry Pi 交叉编译 C++ 程序。我最初使用此处找到的指南设置了交叉编译器,效果很好。
然后当我添加#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++ Linker->Miscellaneous- 来解决这个问题>链接器标志。(在 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 字体。这是通过在 中注释掉#define CAIRO_HAS_FT_FONT 1
的cairo-features.h
。下一个问题是Eclipse找不到gtkmm使用的库,所以我添加\usr\libs
到(project)Properties->C/C++ General->Paths and Symbols->Library paths。完成所有这些后,它在尝试构建时返回以下错误:/usr/lib//libgtkmm-3.0.so: file not recognized: File format not recognized
. 这种文件格式似乎是标准的,那么现在出了什么问题?