本机链接失败 - Xamarin For Visual Studio

时间:2013-03-07 22:13:12

标签: xamarin xamarin.ios

我正在尝试使用Xamarin For Visual Studio Trial在Windows visual studio上构建一个iOS应用程序。编译时我收到此错误:

错误136 MT5201:原生链接失败。请查看提供给gcc的用户标志:“ - L / Users / brandon / Library / Caches / Xamarin / mtbs / builds / iCropTrak_vsios / 9bc8504a-65b2-484f-b71c-1d0cb02d21f6”“ - lgdal_x86”“ - cs3dsqlite3”“ - lddc ++” “-all_load”[K:\ Development \ AZSim \ Products \ CropTrak \ iCropTrak_vsios.csproj]         0 0

它在Mac上编译得很好 - 但是无法使用Windows版本。关于为什么的任何想法?

4 个答案:

答案 0 :(得分:0)

您是否在项目选项中使用{ProjectDir}?如果是这样,您可能会遇到当前limitation,其中目录在平台之间不匹配。

您可以通过{ProjectDir} [LinkWith]属性替换{{1}}或更好来解决问题。

答案 1 :(得分:0)

您可以在dll中捆绑Native引用。

看看这个:http://forums.xamarin.com/discussion/comment/5371/#Comment_5371

和此:

https://github.com/viniciusjarina/NativeBindingVS

谢谢。

答案 2 :(得分:0)

我们像两个星期前一样发现了此问题,这仅在模拟器AFAIK中发生。似乎依赖项LevelDB保留了其Main符号。我将在Firebase上提交错误。解决方法是更改​​注册器在模拟器上的行为:

  1. 打开您的项目设置
  2. 转到构建标签
  3. 选择 iOS Build 选项
  4. 其他mtouch参数文本框中输入.... export class YourComponentName { selectedUser = null; users = [ {'id': 1, 'position': 1, 'first_name': 'John', 'last_name': 'Adams'}, {'id': 2, 'position': 2, 'first_name': 'Joan', 'last_name': 'Smith'} ] updateSelectedUser(userId) { this.selectedUser = this.users.find(el => { return el.id === userId }) } }
  5. 点击确定

请不要忘记将其添加到 iPhoneSimulator 平台的发布 Debug 配置中。

答案 3 :(得分:0)

当我检查了source个软件包时,发现它们依赖

Xamarin.Build.Download

我安装软件包时解决了问题。