2013-11-15 44 views
1

我需要帮助将库导入Xamarin。我包含了库并将其插入到名为BarcodeScanner的新文件夹中,库的名称是libBarcodeScanner.a。Xamarin ios - 导入库

  • gcc_flags“-L $ {} PROJECTDIR -lBarcodeScanner -force_load $ {} PROJECTDIR /libBarcodeScanner.a”

但它显示了一个错误:

Error: Could not parse additional mtouch arguments: No matching quote found.

我应该做的?

我是否需要创建一个绑定项目才能使用像BarcodeScanner这样的库?

回答

3

Error: Could not parse additional mtouch arguments: No matching quote found.

这看起来不像Xamarin.iOS(mtouch)错误消息。那些以MT前缀开始,后面跟着4个数字,例如MT2001。它可能是Xamarin工作室给你这个错误?

What should i do ?

查看旗帜:与上面粘贴的内容是否相同?

未找到匹配的报价。使声音有一个额外的报价在那里。也许其中一个"是错误的(例如,自动更正给你一个智能报价)?

或者,也许你的项目目录(从${ProjectDir}替换包含引号字符?

您也可以编辑您的问题补充你使用的Xamarin工作室的版本?

Do i need to create a binding project to use a library like BarcodeScanner ?

没有,但它是链接静态库的首选方法,使用绑定项目删除了需要在每个项目中添加附加mtouch参数,并且每构建应用程序的配置(例如Debug,Release ...) 。

0

我会回答我自己的问题,也许它会帮助别人。我在MainController,我需要声明:

using MonoTouch.CoreVideo; 
using MonoTouch.CoreMedia; 
using MonoTouch.CoreGraphics; 
using MonoTouch.CoreFoundation; 

之后,我只引用与静态库:

-gcc_flags "-L${ProjectDir} -lBarcodeScanner -force_load ${ProjectDir}/libBarcodeScanner.a" 
0

@ poupou的“也许”是点上,但我会很迂腐,完全解释。

密切在这一行我刚刚引用你的原始问题。我使用代码(每行四个空格前缀)标记它,并将其分成两行。没有其他改变。希望错误现在应该是显而易见的:

- gcc_flags "-L${ProjectDir} -lBarcodeScanner 
    -force_load ${ProjectDir}/libBarcodeScanner.a” 

本质上,您使用了不同类型的双引号。上面的第一个双引号字符是Unicode 0x0022,这是常规引号。上面的第二个双引号字符是Unicode 0x8221右双引号。可能是因为您复制了&从网页上粘贴了上面的全部或部分行,而不是将其键入。

对于命令行处理,混合双引号样式不起作用。您需要使用均衡的普通引号,正如您刚刚在自己的答案中所写的那样(但可能没有特别注意?)FWIW,引号的右和左变体通常用于文字处理,网页页面等风格美学重要的地方。

由于您最初在引用该行时没有使用代码标记(虽然我注意到您在最近发布的答案中做过),但它看起来像Stack Overflow“有用地”试图将报价渲染为风格类似,我们在别处寻找问题时,它恰好在我们面前。

无论如何,下次您收到关于不匹配引号的错误时,我建议您仔细检查其类型。如果他们看起来有点不同,他们可能不是正确的引号。