Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用sourcery lite edition工具链C+;为arm6/arm7构建静态库+;,Mac OS上的Eclipse? 我一直在尝试使用Mac OS上的C++、伊柯丽斯和SuffCury Lite版ARM工具链开发ARM6/ARM7静态库(a)。我已经成功地为Eclipse设置(编译/构建/配置)sourcery lite工具链,并且能够为arm9构建静态库,没有任何错误。不知何故,它没有为arm6/arm7编译/构建。我不知道为什么?我得到以下编译时错误: “所选处理器不支持ARM模式'bx lr'”相同代码适用于arm9_C++_Eclipse_Macos_Armv7_Codesourcery - Fatal编程技术网

无法使用sourcery lite edition工具链C+;为arm6/arm7构建静态库+;,Mac OS上的Eclipse? 我一直在尝试使用Mac OS上的C++、伊柯丽斯和SuffCury Lite版ARM工具链开发ARM6/ARM7静态库(a)。我已经成功地为Eclipse设置(编译/构建/配置)sourcery lite工具链,并且能够为arm9构建静态库,没有任何错误。不知何故,它没有为arm6/arm7编译/构建。我不知道为什么?我得到以下编译时错误: “所选处理器不支持ARM模式'bx lr'”相同代码适用于arm9

无法使用sourcery lite edition工具链C+;为arm6/arm7构建静态库+;,Mac OS上的Eclipse? 我一直在尝试使用Mac OS上的C++、伊柯丽斯和SuffCury Lite版ARM工具链开发ARM6/ARM7静态库(a)。我已经成功地为Eclipse设置(编译/构建/配置)sourcery lite工具链,并且能够为arm9构建静态库,没有任何错误。不知何故,它没有为arm6/arm7编译/构建。我不知道为什么?我得到以下编译时错误: “所选处理器不支持ARM模式'bx lr'”相同代码适用于arm9,c++,eclipse,macos,armv7,codesourcery,C++,Eclipse,Macos,Armv7,Codesourcery,但当我使用“lip-info”检查构建的静态库时,它会说“lipo:archive with no architecture specification:libHelloCppLib.a(无法确定它的体系结构)”。此外,我无法在iPhone应用程序中使用该库。 有人能帮忙吗?这里面有什么不对劲?谢谢。Sourcery CodeBench for Linux支持armv4、armv5和armv7。v5设置在v6/v7硬件上应该可以正常工作 如果您使用的是非linux版本(“EABI”),那么您有a

但当我使用“lip-info”检查构建的静态库时,它会说“lipo:archive with no architecture specification:libHelloCppLib.a(无法确定它的体系结构)”。此外,我无法在iPhone应用程序中使用该库。
有人能帮忙吗?这里面有什么不对劲?谢谢。

Sourcery CodeBench for Linux支持armv4、armv5和armv7。v5设置在v6/v7硬件上应该可以正常工作

如果您使用的是非linux版本(“EABI”),那么您有armv4、armv6-M和armv7。我不确定“v6-m”multilib是否适合您(它适用于微控制器);在这种情况下,使用v4可能会做得更好

可以指定官方支持的体系结构以外的体系结构(例如,
-march=armv6
),编译器会做正确的事情(可能),但由于它没有为这些体系结构(libgcc.a)构建的支持库,它将不得不使用它所拥有的体系结构(很可能是v4体系结构),并且可能会出现链接错误。试试看:)


顺便说一句,如果您使用的是“Sourcery G++”,听起来您没有最新版本。它已经被称为“Sourcery CodeBench”好几年了。

Google对于错误文本,有很多关于它的主题。是的,在发布这篇文章之前,我在Google上搜索了很多。但是没有找到答案,“如何使用Sourcey、C++和Eclipse在MAC上构建ARM6/7静态库,而Lac在MAC上可以识别为ARM架构。”相信我。你确定你想要ARM6/7吗?那些很古老?也许你指的是armv6和armv7。但是你说的是arm9,我不太确定,因为没有v9。我相信iPhone的内核都是armv7-a,但肯定不是arm7。啊,我看到原来的iPhone和3G有arm11内核(即armv6)。@ams是的,我指的是iOS现在支持的armv6和armv7/s。我提到arm6是因为在“目标处理器”(SourceryG++lite的)列表中,它显示的是arm6/7,而不是armv6/v7。无论如何,我想让它与iPhone兼容。很抱歉给您添麻烦,非常感谢。我正在Mac Mountain Lion上使用“用于ARM EABI的Sourcery Codebench Lite版本”()。我已经下载了源代码(.tar),并在这个链接()的帮助下使用构建了它。它已成功构建。当我选择“目标处理器”=arm7时,它会添加编译器标志“-mcpu=arm7”,但会给出编译错误。根据您的帮助,当我手动添加标志“-march=armv7”时,它现在可以成功编译,但会抛出“开关重复警告”。即使使用其他“目标处理器”,例如cortex A8和cortex A9,它也可以在零错误/警告的情况下成功编译/构建。但当我为此执行命令“lipo-info”时,一个库显示“lipo:archive with no architecture specification:libHelloCppLib.a(无法确定它的体系结构)”。若我忽略上面的错误并将其用于iPhone代码,那个么它会说“架构未知,引用未找到”链接器错误。希望这将有助于更好地理解问题。您可能需要在存档上运行
ranlib
,以填写符号表。我不知道为什么它一开始就没有这个<默认情况下,code>ar添加表。至于-march问题,您不应该在任何地方使用“arm7”,因为这是错误的。另外,您可能需要
-march=armv7-a
,因为您需要iPhone的
a
版本的v7。如果您说
-mcpu=cortexa8
(或a9),则不需要
-march
标志。我假定复制警告是由生成系统添加标志,然后您手动添加另一个标志引起的。