Hi, I am trying to compile an IOS application using Xamarin and ssh library. I have followed the instructions, but I have always these errors:
*/Library/Frameworks/Xamarin.iOS.framework/Versions/126.96.36.199/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libmonotouch-sgen.a /Library/Frameworks/Xamarin.iOS.framework/Versions/188.8.131.52/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libapp.a -lresolv -lpthread Undefined symbols for architecture arm64: "_CkSshU_AuthenticatePwW", referenced from: -u command line option "_CkSshU_ConnectW", referenced from: -u command line option "_CkSshU_Create2W", referenced from: -u command line option "_CkSshU_DisconnectW", referenced from: -u command line option "_CkSshU_DisposeW", referenced from: -u command line option "_CkSshU_UnlockComponentW", referenced from: -u command line option ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
MTOUCHTASK: error MT5214: Native linking failed, undefined symbol: _CkSshU_AuthenticatePwW. This symbol was referenced the managed member Chilkat.Ssh.ck_AuthenticatePw. Please verify that all the necessary frameworks have been referenced and native libraries linked. ...*
It seems that in the last version of the library (9.5.0) something is missing in the ssh library. I have tried with both Xamarin Studio on Mac and Visual Studio plugin on Windows but I have the same errors. I have added all the required libraries indicated at this link: http://www.chilkatsoft.com/xamarin_ios_libs.asp.
Has someone found similar problems with the ssh library?
asked Feb 09 '15 at 23:34
I have managed to find a solution for this problem. The Chilkat ssh library has no issues. There were only problems to link the static libraries in the IOS project using Xamarin Visual Studio plugin (for Xamarin Forms). The solution was to create a library using Xamarin Studio on Mac and the using this library on Windows with Visual Studio. Here are the steps I have followed: - In Xamarin Studio for Mac I have created a new solution IOS->Unified API->IOS Binding Project. - I have added the required libraries as new files (they are set by default as BuildAction:ObjcBindingNativeLibrary and a new file with the same name of the library (with extention "linkwith.cs") is automatically created. I have opened this linkwith.cs file for each library and I have added the architectures required (in my case only ArmV7s and ArmV7 were present, I have added also Arm64) - I have also added the .cs files required to use the library (in my case the ssh.cs, sshkey.cs, stringarray.cs, chilkatconst.cs and chilkatobject.cs) and then I have built the library - I have then used the resulting dll in visual studio and everything worked as expected.
Hope that this can help in case of similar issues. Thanks
answered Feb 10 '15 at 14:14