[odb-users] ODB for iOS cross-compilation

Konstantin Tarovik konstantin.tarovik at ab-soft.net
Thu Apr 9 08:18:49 EDT 2015


Also I've added -stdlib=libc++ parameter which also doesn't help.

Best regards,
Konstantin Tarovik

On 4/9/15 2:26 PM, Konstantin Tarovik wrote:
> Hi Boris & all,
>
> Thank you for the help. I managed to compile ODB runtime for armv7/iOS 
> using C++98 dialect using the following configuration command:
>
> ./configure 
> CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 
> LD=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld 
> AR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar 
> CXXFLAGS="-Os -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk 
> -target armv7-apple-darwin 
> -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/include/c++/4.2.1" 
> LDFLAGS="-arch armv7 -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk" 
> --prefix=`pwd`/../install --disable-shared --disable-threads 
> --host=arm-apple-darwin
>
>
> But now I can't use it from the app implemented in C++11. When I try 
> to compile
> ODB using c++11 (adding compiler param -std=gnu++11) it rises many 
> errors like:
>
> ../odb/pointer-traits.hxx:239:29: error: no member named 'unique_ptr' 
> in namespace 'std'
>   class pointer_traits<std::unique_ptr<T, D>>
>                        ~~~~~^
> ../odb/pointer-traits.hxx:239:40: error: 'T' does not refer to a value
>   class pointer_traits<std::unique_ptr<T, D>>
>                                        ^
> ../odb/pointer-traits.hxx:238:22: note: declared here
>   template <typename T, typename D>
>                      ^
> ../odb/pointer-traits.hxx:311:24: error: no template named 
> 'shared_ptr' in namespace 'std'; did you mean 'details::shared_ptr'?
>   class pointer_traits<std::shared_ptr<T>>
>                        ^~~~~~~~~~~~~~~
>                        details::shared_ptr
> ../odb/details/shared-ptr-fwd.hxx:17:11: note: 'details::shared_ptr' 
> declared here
>     class shared_ptr;
>           ^
>
> Please advise.
>
> Thank you.
>
> Best regards,
> Konstantin Tarovik
>
> On 4/8/15 5:50 PM, Boris Kolpackov wrote:
>> Hi Konstantin,
>>
>> Konstantin Tarovik <konstantin.tarovik at ab-soft.net> writes:
>>
>>> *./configure CC=[...] CFLAGS=[...]
>> You need to use CXX, CXXFLAGS when building ODB runtimes since
>> they are C++ code.
>>
>> Also, see this guide for more information on cross-compiling ODB:
>>
>> http://wiki.codesynthesis.com/Using_ODB_on_Mobile_and_Embedded_Systems
>>
>> Finally, once you figure it out, I would appreciate a note to this
>> mailing list with any tips on using ODB with iOS.
>>
>> Thanks,
>> Boris
>



More information about the odb-users mailing list