Dive Board



[URGENT] Unity 5.1 linker error

[URGENT] Unity 5.1 linker error

by Ziboo on Apr 28th, 2015 11:10 AM

Hi,

First, thanks for you awesome plugin, very easy to use, and save us a lot of time.
Works perfectly on android :)

Now I'm trying to build my application for IOS.
I have a tones of linker error on libdivesensor.a

I thought maybe it was on my side, with my project, but I tried with your demo, same thing.

I'm using unity 5.1, xcode 6.3.1

Can somebody help me ?

It's very urgent, I need to publish an app very soon.

Thanks a lot

Robin

Here is the log:

Ld /Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Products/Debug-iphoneos/diveDemo&#46;app/diveDemo normal armv7<br />    cd /Users/PROD_MONTAGE/Downloads/Dive_Unity_Demo/Builds/DiveDemo<br />    export IPHONEOS_DEPLOYMENT_TARGET=6&#46;0<br />    export PATH=&quot;/Applications/Xcode&#46;app/Contents/Developer/Platforms/iPhoneOS&#46;platform/Developer/usr/bin&#58;/Applications/Xcode&#46;app/Contents/Developer/usr/bin&#58;/usr/bin&#58;/bin&#58;/usr/sbin&#58;/sbin&quot;<br />    /Applications/Xcode&#46;app/Contents/Developer/Toolchains/XcodeDefault&#46;xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode&#46;app/Contents/Developer/Platforms/iPhoneOS&#46;platform/Developer/SDKs/iPhoneOS8&#46;3&#46;sdk -L/Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Products/Debug-iphoneos -L/Users/PROD_MONTAGE/Downloads/Dive_Unity_Demo/Builds/DiveDemo -L/Users/PROD_MONTAGE/Downloads/Dive_Unity_Demo/Builds/DiveDemo/Libraries -L/Users/PROD_MONTAGE/Downloads/Dive_Unity_Demo/Builds/DiveDemo/Libraries/Plugins/iOS -F/Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Products/Debug-iphoneos -filelist /Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Intermediates/Unity-iPhone&#46;build/Debug-iphoneos/Unity-iPhone&#46;build/Objects-normal/armv7/diveDemo&#46;LinkFileList -dead_strip -weak_framework CoreMotion -weak-lSystem -stdlib=libc++ -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6&#46;0 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv&#46;2 -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -liPhone-lib -ldivesensor -Xlinker -dependency_info -Xlinker /Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Intermediates/Unity-iPhone&#46;build/Debug-iphoneos/Unity-iPhone&#46;build/Objects-normal/armv7/diveDemo_dependency_info&#46;dat -o /Users/PROD_MONTAGE/Library/Developer/Xcode/DerivedData/Unity-iPhone-brwkbxaskjhhoqemqrtjmycmsghz/Build/Products/Debug-iphoneos/diveDemo&#46;app/diveDemo<br /><br />Undefined symbols for architecture armv7&#58;<br />  &quot;std&#58;&#58;cerr&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;__throw_length_error(char const*)&quot;, referenced from&#58;<br />      std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt;&#58;&#58;_M_insert_aux(__gnu_cxx&#58;&#58;__normal_iterator&lt;JSONValue**, std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt; &gt;, JSONValue* const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp; std&#58;&#58;endl&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;(std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;ios_base&#58;&#58;Init&#58;&#58;Init()&quot;, referenced from&#58;<br />      ___cxx_global_var_init in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_stringstream(std&#58;&#58;_Ios_Openmode)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_increment(std&#58;&#58;_Rb_tree_node_base const*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_const_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++() in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_increment(std&#58;&#58;_Rb_tree_node_base*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++(int) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;~basic_stringstream()&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;begin() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;reserve(unsigned long)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(char const*)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string()&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue() in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(bool) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(double) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt; const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;map&lt;std&#58;&#58;string, JSONValue*, std&#58;&#58;less&lt;std&#58;&#58;string&gt;, std&#58;&#58;allocator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt; &gt; const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      &#46;&#46;&#46;<br />  &quot;std&#58;&#58;ostream&#58;&#58;operator&lt;&lt;(std&#58;&#58;ostream&amp; (*)(std&#58;&#58;ostream&amp;))&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;ostream&#58;&#58;operator&lt;&lt;(double)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string(char const*, std&#58;&#58;allocator&lt;char&gt; const&amp;)&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator=(char const*)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(char)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;c_str() const&quot;, referenced from&#58;<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_insert_and_rebalance(bool, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base&amp;)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree&lt;std&#58;&#58;string, std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;, std&#58;&#58;_Select1st&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;, std&#58;&#58;less&lt;std&#58;&#58;string&gt;, std&#58;&#58;allocator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt; &gt;&#58;&#58;_M_insert(std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator=(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;end() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;allocator&lt;char&gt;&#58;&#58;~allocator()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;pair(std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;pair(std&#58;&#58;string const&amp;, JSONValue* const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;ios_base&#58;&#58;Init&#58;&#58;~Init()&quot;, referenced from&#58;<br />      ___cxx_global_var_init in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;str() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_decrement(std&#58;&#58;_Rb_tree_node_base*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator--() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp; std&#58;&#58;operator&lt;&lt;&lt;std&#58;&#58;char_traits&lt;char&gt; &gt;(std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp;, char const*)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;compare(std&#58;&#58;string const&amp;) const&quot;, referenced from&#58;<br />      bool std&#58;&#58;operator&lt;&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;(std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt; const&amp;, std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;allocator&lt;char&gt;&#58;&#58;allocator()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;~basic_string()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;~pair() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue() in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(bool) in libdivesensor&#46;a(JSONValue&#46;o)<br />      &#46;&#46;&#46;<br />ld&#58; symbol(s) not found for architecture armv7<br />clang&#58; error&#58; linker command failed with exit code 1 (use -v to see invocation)

Ziboo

Posts: 1

Joined: 28.04.2015


Re: [URGENT] Unity 5.1 linker error

by marksmen on Apr 30th, 2015 15:29 PM

I have the same issue. The project compiles without the Dive Camera. After adding the dive plugin, it builds in Unity, but fails the building in Xcode. 30 or so Apple Mach-O Linker Errors that look related libdivesensor.aensor.a


Can someone lend a hand? Thanks!

marksmen

Posts: 6

Joined: 30.04.2015


Re: [URGENT] Unity 5.1 linker error

by Torben on Apr 30th, 2015 17:45 PM

Hi!

I am very sorry, but I couldn't reproduce the error with unity 4.6 (il2cpp scripting backend, universal[armv7+arm64] architecture) and xcode 6.1.1.
Please stay tuned - I will try it again tomorrow with unity 5

Torben

Posts: 63

Joined: 26.03.2014

dive-owner


Re: [URGENT] Unity 5.1 linker error

by marksmen on Apr 30th, 2015 19:01 PM

Under Unity 5.1, i had to use the Mono (2.x) scripting backend to successful build. If I use IL2CPP, i get the following errors:

Error building Player: Exception: /Applications/Unity/Unity.app/Contents/Frameworks/Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe did not run properly!

<== can you explain how to get IL2CPP to get past this error?

If I use Mono, the app builds, but Xcode 6.3.1 has many (32) Apple Mach-O Linker errors.

All of the errors point to "libdivesensor.a" and complain about ARM7 calls not being understood.

"ld: warning: ignoring file /Users/visualeyz/MM Demo - Durovis/MoonMed/Libraries/libiPhone-lib.a, file was built for archive which is not the architecture being linked (arm64): /Users/.../Libraries/libiPhone-lib.a"

Undefined symbols for architecture arm64:
"_UnityRegisterProInterface", referenced from:
+[UnityAppController(RegisterProInterface) load] in UnityProInterface.o
"_UnityADInterstitialADWasLoaded", referenced from:
-[UnityInterstitialAd interstitialAdDidLoad:].....

marksmen

Posts: 6

Joined: 30.04.2015


Re: [URGENT] Unity 5.1 linker error

by Torben on May 1st, 2015 16:58 PM

Hi!

Could you please try version 2.1?

http://www.durovis.com/unity/Dive_Plugi ... itypackage
http://www.durovis.com/unity/Dive_Unity_Demo_2.1.zip

I linked libdivesensor.a against another standard cpp library and it should work now :)

Sorry for the delay!

Torben

Posts: 63

Joined: 26.03.2014

dive-owner


Re: [URGENT] Unity 5.1 linker error

by joa on May 3rd, 2015 20:27 PM

Hi,

I'm having problems with the linking as well:

Undefined symbols for architecture armv7:
"_DiveUpdateGyroData", referenced from:
RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'm using ver 2.1 and Xcode 6.1.

Anyone seeing this problem as well?

joa

Posts: 2

Joined: 03.05.2015


Re: [URGENT] Unity 5.1 linker error

by aibat on May 3rd, 2015 20:50 PM

I'm having the very same issue

Unity 5.0 and xcode 6.3.1

In general I'm not able to make use of dive plugin 2.1

Undefined symbols for architecture armv7:
"_DiveUpdateGyroData", referenced from:
RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I also tried with Unity 4.6.1 and 4.6.4
http://pastebin.com/5yAJkNEH

Currently I'm using a setup with Unity 4.6.1 and Unity dive plugin < 2.1.
This combination comes with considerable drift on Y axis ... that's the main issue I'm trying to solve


Any recommendations on how to workaround the mentioned linking problem?

aibat

Posts: 1

Joined: 03.05.2015


Re: [URGENT] Unity 5.1 linker error

by kefon on May 4th, 2015 15:17 PM

Same error here !
I'm using Unity 5.0.1, Dive Unity Plugin 2.1 and Xcode 6.3.1.
And yes, I got some linker problems when trying to compile in Xcode (compiling in unity is fine)

Undefined symbols for architecture armv7&#58;<br />  &quot;_DiveUpdateGyroData&quot;, referenced from&#58;<br />      RegisterMonoModules() in RegisterMonoModules&#46;o<br />ld&#58; symbol(s) not found for architecture armv7<br />clang&#58; error&#58; linker command failed with exit code 1 (use -v to see invocation)

kefon

Posts: 4

Joined: 04.05.2015


Re: [URGENT] Unity 5.1 linker error

by marksmen on May 4th, 2015 16:20 PM

I was running Dive 2.0 when I got my first, previously reported errors. I installed Dive 2.1 and got essentially the same errors. Here is the log:


Ld /Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Products/Debug-iphoneos/greatescape&#46;app/greatescape normal armv7<br />    cd &quot;/Users/visualeyz/MM Demo - Durovis/MoonMed&quot;<br />    export IPHONEOS_DEPLOYMENT_TARGET=8&#46;1<br />    export PATH=&quot;/Applications/Xcode&#46;app/Contents/Developer/Platforms/iPhoneOS&#46;platform/Developer/usr/bin&#58;/Applications/Xcode&#46;app/Contents/Developer/usr/bin&#58;/usr/bin&#58;/bin&#58;/usr/sbin&#58;/sbin&quot;<br />    /Applications/Xcode&#46;app/Contents/Developer/Toolchains/XcodeDefault&#46;xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode&#46;app/Contents/Developer/Platforms/iPhoneOS&#46;platform/Developer/SDKs/iPhoneOS8&#46;3&#46;sdk -L/Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Products/Debug-iphoneos -L/Users/visualeyz/MM\ Demo\ -\ Durovis/MoonMed -L/Users/visualeyz/MM\ Demo\ -\ Durovis/MoonMed/Libraries -L/Users/visualeyz/MM\ Demo\ -\ Durovis/MoonMed/Libraries/Plugins/iOS -F/Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Products/Debug-iphoneos -filelist /Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Intermediates/Unity-iPhone&#46;build/Debug-iphoneos/Unity-iPhone&#46;build/Objects-normal/armv7/greatescape&#46;LinkFileList -dead_strip -weak_framework CoreMotion -weak-lSystem -stdlib=libc++ -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=8&#46;1 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv&#46;2 -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -liPhone-lib -ldivesensor -Xlinker -dependency_info -Xlinker /Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Intermediates/Unity-iPhone&#46;build/Debug-iphoneos/Unity-iPhone&#46;build/Objects-normal/armv7/greatescape_dependency_info&#46;dat -o /Users/visualeyz/Library/Developer/Xcode/DerivedData/Unity-iPhone-dowofkqivknsthebpcwaxcuenzgi/Build/Products/Debug-iphoneos/greatescape&#46;app/greatescape<br /><br />Undefined symbols for architecture armv7&#58;<br />  &quot;std&#58;&#58;cerr&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;__throw_length_error(char const*)&quot;, referenced from&#58;<br />      std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt;&#58;&#58;_M_insert_aux(__gnu_cxx&#58;&#58;__normal_iterator&lt;JSONValue**, std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt; &gt;, JSONValue* const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp; std&#58;&#58;endl&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;(std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;ios_base&#58;&#58;Init&#58;&#58;Init()&quot;, referenced from&#58;<br />      ___cxx_global_var_init in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_stringstream(std&#58;&#58;_Ios_Openmode)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_increment(std&#58;&#58;_Rb_tree_node_base const*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_const_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++() in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_increment(std&#58;&#58;_Rb_tree_node_base*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator++(int) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;~basic_stringstream()&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;begin() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;reserve(unsigned long)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(char const*)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string()&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue() in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(bool) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(double) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;vector&lt;JSONValue*, std&#58;&#58;allocator&lt;JSONValue*&gt; &gt; const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;map&lt;std&#58;&#58;string, JSONValue*, std&#58;&#58;less&lt;std&#58;&#58;string&gt;, std&#58;&#58;allocator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt; &gt; const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      &#46;&#46;&#46;<br />  &quot;std&#58;&#58;ostream&#58;&#58;operator&lt;&lt;(std&#58;&#58;ostream&amp; (*)(std&#58;&#58;ostream&amp;))&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;ostream&#58;&#58;operator&lt;&lt;(double)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string(char const*, std&#58;&#58;allocator&lt;char&gt; const&amp;)&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator=(char const*)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator+=(char)&quot;, referenced from&#58;<br />      JSON&#58;&#58;ExtractString(char const**, std&#58;&#58;string&amp;) in libdivesensor&#46;a(JSON&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;c_str() const&quot;, referenced from&#58;<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_insert_and_rebalance(bool, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base&amp;)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree&lt;std&#58;&#58;string, std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;, std&#58;&#58;_Select1st&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;, std&#58;&#58;less&lt;std&#58;&#58;string&gt;, std&#58;&#58;allocator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt; &gt;&#58;&#58;_M_insert(std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;_Rb_tree_node_base*, std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;operator=(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;end() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;allocator&lt;char&gt;&#58;&#58;~allocator()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;basic_string(std&#58;&#58;string const&amp;)&quot;, referenced from&#58;<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;pair(std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;pair(std&#58;&#58;string const&amp;, JSONValue* const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;ios_base&#58;&#58;Init&#58;&#58;~Init()&quot;, referenced from&#58;<br />      ___cxx_global_var_init in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_stringstream&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;str() const&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Stringify() const in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;_Rb_tree_decrement(std&#58;&#58;_Rb_tree_node_base*)&quot;, referenced from&#58;<br />      std&#58;&#58;_Rb_tree_iterator&lt;std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt; &gt;&#58;&#58;operator--() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp; std&#58;&#58;operator&lt;&lt;&lt;std&#58;&#58;char_traits&lt;char&gt; &gt;(std&#58;&#58;basic_ostream&lt;char, std&#58;&#58;char_traits&lt;char&gt; &gt;&amp;, char const*)&quot;, referenced from&#58;<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;string&#58;&#58;compare(std&#58;&#58;string const&amp;) const&quot;, referenced from&#58;<br />      bool std&#58;&#58;operator&lt;&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;(std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt; const&amp;, std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt; const&amp;) in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />  &quot;std&#58;&#58;allocator&lt;char&gt;&#58;&#58;allocator()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;StringifyString(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />  &quot;std&#58;&#58;basic_string&lt;char, std&#58;&#58;char_traits&lt;char&gt;, std&#58;&#58;allocator&lt;char&gt; &gt;&#58;&#58;~basic_string()&quot;, referenced from&#58;<br />      _dive_load_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      _dive_save_config in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      std&#58;&#58;pair&lt;std&#58;&#58;string const, JSONValue*&gt;&#58;&#58;~pair() in libdivesensor&#46;a(Native_Sensors_Plugin&#46;o)<br />      JSONValue&#58;&#58;Parse(char const**) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue() in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(std&#58;&#58;string const&amp;) in libdivesensor&#46;a(JSONValue&#46;o)<br />      JSONValue&#58;&#58;JSONValue(bool) in libdivesensor&#46;a(JSONValue&#46;o)<br />      &#46;&#46;&#46;<br />ld&#58; symbol(s) not found for architecture armv7<br />clang&#58; error&#58; linker command failed with exit code 1 (use -v to see invocation)<br />

marksmen

Posts: 6

Joined: 30.04.2015


Re: [URGENT] Unity 5.1 linker error

by Torben on May 4th, 2015 21:30 PM

Hi,

Thank you very much for your feedback!

I updated the static library again and tested it with Unity 5.0.1f1 and xcode 6.3.1 compiling for iOS 8.3 on OSX 10.10.3
for both scritpting backends (mono 2.x & IL2CPP).

http://www.durovis.com/unity/Dive_Plugi ... itypackage
http://www.durovis.com/unity/Dive_Unity_Demo_2.1.1.zip

Torben

Posts: 63

Joined: 26.03.2014

dive-owner