我在尝试交叉编译wxWidgets示例程序时遇到问题 主机是运行Debian的PC(如果重要的话是VM),目标是运行Debian的BeagleBone Black(BBB)。
作为背景说明,我是一名C / C ++程序员,但严格来说是嵌入式和Windows世界。我知道Linux能够打破它。
我已成功交叉编译了一个简单的C ++程序,它在BBB上运行良好。我使用Derek Molloy的教程来安装和交叉编译Eclipse:
https://www.youtube.com/watch?v=hzZHcH5quow
接下来,我下载了wxWidgets并将其在BBB(而不是PC)上编译成静态库。这是我使用的配置:
../configure --enable-debug --enable-debug_info --disable-shared --enable-stl --enable-sockets --enable-gif --enable-pcx --with-libpng --with-libjpeg
编译得很好。然后我构建了一堆演示和示例,他们都编译并在BBB上运行良好。
接下来我希望能够进行交叉编译,这样我就可以使用一些不错的开发工具。 我将所有wxWidgets库复制到PC上,然后我还复制了我需要的所有include目录(GTK,cairo,pango,glib ...)及其库(从BBB到PC)。
经过大量的试验和错误,我终于完成了编译和链接。几乎。
链接器出现以下错误(其中5个,都非常相似):
`.LTHUNK0'在章节中引用 `.text._ZN17wxWindowWithItemsI9wxControl15wxItemContainerED1Ev [_ZN17wxWindowWithItemsI9wxControl15wxItemContainerED1Ev]” 的 /home/dave/BeagleBoneResources/lib/wx/libwx_gtk2u_core-3.0.a(corelib_choiccmn.o): 在废弃的部分中定义 `.text._ZN17wxWindowWithItemsI9wxControl15wxItemContainerED2Ev [_ZN17wxWindowWithItemsI9wxControl15wxItemContainerED5Ev]” 的 /home/dave/BeagleBoneResources/lib/wx/libwx_gtk2u_core-3.0.a(corelib_choiccmn.o)
我看到它引用了libwx_gtk2u_core-3.0.a,它是我在BBB上构建的wxWidgets库之一。
谁能告诉我如何解决这个问题?我当然希望我不必使用交叉编译器重建所有依赖项,其中有很多,我甚至不知道从哪里开始。