我正在尝试使用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版本。关于为什么的任何想法?
答案 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上提交错误。解决方法是更改注册器在模拟器上的行为:
....
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
})
}
}
请不要忘记将其添加到 iPhoneSimulator 平台的发布和 Debug 配置中。
答案 3 :(得分:0)