簡體   English   中英

Raspberry Pi的Eclipse gtkmm交叉編譯,即使確實存在文件ft2build.h也找不到

[英]Eclipse gtkmm cross-compiling for Raspberry Pi, can't find file ft2build.h even though it does exist

我試圖在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標志,選擇詳細(- v)並將pkg-config gtkmm-3.0 --cflags --libs到Cross G ++ Linker-> Miscellaneous-> Linker Flags。 (這兩個標志的附加內容在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庫中禁用了自由字體。 這是通過在cairo-features.h #define CAIRO_HAS_FT_FONT 1注釋掉來完成的。 下一個問題是Eclipse找不到gtkmm使用的庫,因此我在(project)Properties-> C / C ++ General-> Paths and Symbols-> Library path中添加了\\usr\\libs 完成所有這些操作后,在嘗試構建時會返回以下錯誤: /usr/lib//libgtkmm-3.0.so: file not recognized: File format not recognized 不過,這種文件格式似乎是標准格式,所以現在出了什么問題?

我創建了一個新項目,像以前一樣進行交叉編譯。 然后,我在Raspberry Pi上安裝了gtkmm,然后將Pi的SD卡中的/usr//lib/文件夾復制到筆記本電腦中。 完成此操作后,我去了(project)Properties-> C / C ++ Build-> Settings。 然后,我將pkg-config gtkmm-3.0 --cflags列出的所有包含項添加到Cross G ++編譯器->包含,並將pkg-config gtkmm-3.0 --libs列出的所有庫pkg-config gtkmm-3.0 --libs到Cross G ++ Linker-> Libraries-但是我更改了路徑以指向Pi的庫文件。

和以前一樣,我必須在cairo中禁用freetype字體。 不過,它仍然沒有構建,因為所包含的庫又依次依賴於其他庫。 因此,最后一步是找到所有列出的庫,並將它們包括在我復制過來的Pi文件中。 現在,簡單的gtkmm示例可以在Eclipse中構建,並且可以在Pi上運行!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM