2014-04-07 165 views
0

來自官方站點的構建marmalade擴展靜態lib-wrappers的說明顯示瞭如何構建唯一的體系結構(armv6)擴展。我想包括許多架構到項目:Marmalade iOS多種體系結構支持

if {{defined I3D_OS_IPHONE}} 
{ 
    includepath incoming 

    files 
    { 
    ["MyTracker Library armv7"] 
    (incoming/armv7) 
    "*.o" 

    ["MyTracker Library armv7s"] 
    (incoming/armv7s) 
    "*.o" 

    ["MyTracker Library armv64"] 
    (incoming/armv64) 
    "*.o"  

     ["source"] 
     (use_first_found, source/iphone, source/generic) 
     MyTracker_platform.mm 
     #Add any iphone-specific files here 
    } 
} 

但我試圖建立之後得到了很多的錯誤消息:

Executing: '/usr/local/bin/scons -Q compiler=clang' 

scons: warning: Support for pre-2.7.0 Python version (2.6.8) is deprecated. 
    If this will cause hardship, contact [email protected] 
File "/usr/local/bin/scons", line 192, in <module> 
Librarian [ar] /Users/misha/Documents/MyTracker/lib/iphone/libMyTracker.a 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib: archive member: /Users/misha/Documents/MyTracker/lib/iphone/libMyTracker.a(MyDispatcher.o) cputype (7) does not match previous archive members cputype (12) (all members must match) 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib: archive member: /Users/misha/Documents/MyTracker/lib/iphone/libMyTracker.a(MyTracker.o) cputype (16777223) does not match previous archive members cputype (12) (all members must match) 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ranlib: archive member: /Users/misha/Documents/MyTracker/lib/iphone/libMyTracker.a(MyNetwork.o) cputype (16777228) does not match previous archive members cputype (12) (all members must match) 

.... 

malformed object (unknown load command 1) 
ar: internal ranlib command failed 
scons: *** [/Users/misha/Documents/MyTracker/lib/iphone/libMyTracker.a] Error 1 
Executing 'scons -Q' failed. (return code 2). Retry 
error: Executing 'scons -Q' failed. (return code 2) 
FAILED (error code=3) 

如何構建具有多種架構支持的擴展?

回答

0

這通常不是建議的解決方法。你看起來像你試圖從這些庫中引入符號,這是EDK不支持的。你最好的選擇是在部署時包含這些庫(或者最可能的,只是arm6/7庫,取決於你想獲得多少),而不是使用頭文件編譯擴展由您使用的任何SDK的開發人員提供,或者您編寫的用於編譯這些.o庫的文件)。

0

構建多個目標是重構的東西。我的理解是,在某個階段,文檔和底層代碼已經過時。我相信這種方法與你所要做的完全不同 - 我不確定你爲什麼要插入.o文件,但通常這在橘子醬中工作得很好。

相關問題