Raspberry pi 针对Debian 64和Debian armhf的交叉编译WxWidget应用程序
我正在构建一个针对Debian 64位和Debian armhf(Raspberry)的WxWidget应用程序。我使用eclipse作为运行在Debian9.4VirtualBox中的IDE。VB主机是Windows10 eclipse工作区组织为树项目:Raspberry pi 针对Debian 64和Debian armhf的交叉编译WxWidget应用程序,raspberry-pi,debian,cross-platform,wxwidgets,Raspberry Pi,Debian,Cross Platform,Wxwidgets,我正在构建一个针对Debian 64位和Debian armhf(Raspberry)的WxWidget应用程序。我使用eclipse作为运行在Debian9.4VirtualBox中的IDE。VB主机是Windows10 eclipse工作区组织为树项目: 为Debian 64位体系结构设置的一个项目 为Debian armhf体系结构设置的一个项目(使用multiarch) 一个具有公共源文件的项目 在两个64位的armhf项目中,源代码都是从公共项目链接进来的 我使用以下命令安装了64位的
sudo apt install libwxgtk3.0-dev
现在,64位项目编译无误,可执行文件在Debian64下运行良好
接下来,我喜欢交叉编译armhf,所以
sudo apt install libwxgtk3.0-dev:armhf
现在,armhf项目编译无误,可执行文件在Raspberry Pi上运行良好
然而,64位项目的编译被破坏了
显然,WxWidgets的特定于平台的设置是在一个名为
设置.h
此文件位于
/usr/lib/平台/wx/include/gtk2-unicode-3.0/wx/
其中,平台是针对Debian64的x86_64-linux-gnu或针对Debian armhf的arm linux gnueabihf
我的观察是,安装一个版本的开发包会安装正确的setup.h,但也会删除另一个版本
那么,如何为两种平台的多拱编译设置WxWidgets呢
提前感谢,
Paul您需要从armhf存储库安装wxWidgets,或者使用该体系结构的交叉编译器自己构建它
我希望当您尝试从不同的存储库安装时,安装也会发生在不同的目录中。如果不是,您应该给
apt get
您希望脚本安装包的目录。原则上,这应该使用wx config的--host
选项工作,也就是说,一个平台使用wx config--host=x86_64--cxflags--libs
,另一个平台使用wx config--host=armhf
。但是我不知道这是否适用于Debian软件包
如果无法使用它们,可以在不同的构建目录中构建自己的库,例如~/build/wx/x86_64-gtk2
和~/build/wx/armhf-gtk2
。然后您可以只使用~/build/wx/$arch-gtk2/wx config
,而无需安装库