2017-04-20 61 views
1

我已按照從https://university.xamarin.com/lightninglectures/ios-bindings-in-cc的所有步驟來映射Xamarin iOS應用程序中的C庫。 但是當我試圖構建xamarin IOS應用程序時,它給出了以下錯誤。MTOUCH:錯誤MT0010:無法解析命令行參數:

Tool /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch execution started with arguments: --cache /Users/san/Projects/ExampleLib/simpleBindings/obj/iPhoneSimulator/Debug/mtouch-cache --sim /Users/san/Projects/ExampleLib/simpleBindings/bin/iPhoneSimulator/Debug/simpleBindings.app --executable simpleBindings --debug --nolink --sdkroot /Applications/Xcode.app/Contents/Developer --sdk 10.2 --targetver 10.2 --http-message-handler=HttpClientHandler --tls-provider=default --abi=x86_64 --symbollist /Users/san/Projects/ExampleLib/simpleBindings/obj/iPhoneSimulator/Debug/mtouch-symbols.list --dsym=no -cxx -lexample -force_load /Users/san/Projects/ExampleLib/simpleBindings/libexample.a」 --gcc_flags 「-L/Users/san/Projects/ExampleLib/simpleBindings -r /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.dll -r /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Xml.dll -r /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Core.dll -r /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Xamarin.iOS.dll -r /Users/san/Projects/ExampleLib/ExampleLib/bin/Debug/ExampleLib.dll -r /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/mscorlib.dll -r /Users/san/Projects/ExampleLib/ExampleLib/bin/Debug/ExampleLib.dll --target-framework Xamarin.iOS,v1.0 /Users/san/Projects/ExampleLib/simpleBindings/bin/iPhoneSimulator/Debug//simpleBindings.exe -v -v 
MTOUCH: error MT0010: Could not parse the command line arguments: Mono.Options.OptionException: Cannot use unregistered option 'o' in bundle '-force_load'. 
    at Mono.Options.OptionSet.ParseBundledValue (System.String f, System.String n, Mono.Options.OptionContext c) [0x00086] in <e61e7c7e12a34f76bb60aae297cbc79c>:0 
    at Mono.Options.OptionSet.Parse (System.String argument, Mono.Options.OptionContext c) [0x000ce] in <e61e7c7e12a34f76bb60aae297cbc79c>:0 
    at Mono.Options.OptionSet.Parse (System.Collections.Generic.IEnumerable`1[T] arguments) [0x000b8] in <e61e7c7e12a34f76bb60aae297cbc79c>:0 
    at Xamarin.Bundler.Driver.Main2 (System.String[] args) [0x01667] in <e61e7c7e12a34f76bb60aae297cbc79c>:0 
Task "MTouch" execution -- FAILED 
Done building target "_CompileToNative" in project "/Users/san/Projects/ExampleLib/simpleBindings/simpleBindings.csproj".-- FAILED 
Done building project "/Users/san/Projects/ExampleLib/simpleBindings/simpleBindings.csproj".-- FAILED 

Build FAILED. 
Errors: 

/Users/san/Projects/ExampleLib/simpleBindings/simpleBindings.csproj (Build) -> 
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets (_CompileToNative target) -> 

MTOUCH: error MT0010: Could not parse the command line arguments: Mono.Options.OptionException: Cannot use unregistered option 'o' in bundle '-force_load'. 

回答

0

一些選項,如-force_load,是不是mtouch但對於本地連接選項。

他們應該給mtouch,在引號之間,在-gcc_flags的論點下。

您的項目選項中可能沒有正確添加它們(錯誤的順序或沒有引號)到其他mtouch參數

0

的錯誤來了,因爲在mTouch觸摸參數 即-gcc_flags「-L $ {} PROJECTDIR -lexample -force_load $ {} PROJECTDIR命令的複製粘貼/libexample.a

的手動更改雙引號後mtouch參數問題已解決。