我们开发了一个包含很多C ++文件的应用程序。在Linux上我们能够执行它。
我们有一个基于MPC8548E的定制板的U-Boot。 现在我们决定不使用操作系统。所以,我尝试了两种方法在U-Boot上执行C ++应用程序。
1。)使用g ++(C ++交叉编译器)编译C ++应用程序,并尝试使用gcc(The C-Compiler)编译的U-Boot进行链接。但我无法做到这一点: 我看到的错误信息是: / ToolChain / host / usr / powerpc-buildroot-linux-uclibcspe / bin / ld:无法合并文件的目标特定数据... 2.)尝试以与独立示例相同的方式编译我的应用程序和U-Boot。我在U-Boot中创建了一个单独的目录并尝试编译它。 C ++应用程序没有构建,但我能够构建C-Applications。
我的主要目的是直接在U-Boot上执行C ++应用程序。 请帮我怎么做?
答案 0 :(得分:0)
对不起,我相信在U-Boot上获取C ++比在例如跟OS一起去。
来自U-Boot技术主管的short answer:
> Does u-boot support C++ example programs and if so, how can I build one?
U-Boot does not support C++.
一些技术背景:U-Boot在裸机上运行。 U-Boot独立应用程序将链接到应用程序所需的U-Boot的导出功能。例如,您的C ++应用程序将使用' new',您的C ++库需要执行对malloc的调用,在这种情况下,这将意味着转到u-boot导出的函数接口(请参阅doc / README.standalone) )。
关于裸机上C ++的一般主题,我还没有这样做,但找到了可以解释的Miro Samek教程。我觉得这很难。相比之下,移植linux开始看起来很好。