Serialise on Mac OSX 10.8, XCode and GCC
Hi, I have an XCode c++ project that uses the static serialisation library (as well as FileSystem, IOStream and System). The project started out on XCode 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0, built against Apple's 10.6 SDK. However, I needed to use the XCode debugger to track down some run-time issues and found I couldn't access the debugger on this version of XCode (I'm blind and have to use the VoiceOver utility to gain access to my Mac). Having taken advice, I upgraded to Mac OSX 10.8, SDK 10.8 and XCode 4.6, which solves my debugging issue. Unfortunately, my project no longer links correctly. The linker complains that it can't find symbols for my architecture (x86_64) - the messages are in the the form: "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta rt(char const*)", referenced from: "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::version_type&, int)", referenced from: "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::class_id_type&, int)", referenced from: (I've truncated the output here for brevity). I get no linker errors for any of the other Boost binaries - it's only the serialisation library that creates a problem. The project is configured to compile with the llvmgcc42 compiler, as it also uses the wxWidgets libraries, which don't support compilation using clang. Boost versions tried: 1_50_0, 1_52_0 and 1_53_0. Boost build options tried: 1 - Default (no options specified) - this worked on Mac OSX 10.6, Snow Leopard. 2 - As follows: macosx-version=10.3 macosx-version-min=10.6 architecture=combined threading=multi link=static address-model=32_64 3 - As follows: architecture=combined address-model=32_64 I'm a novice using Boost and the Mac, so would appreciate any suggestions as to how I can resolve this issue. Best wishes. Tim Burgess Raised Bar Ltd. Tel: +44 (0)1827 719822 Web: http://www.raisedbar.net We can supply Roland and Avid products with specialist pre and post-sales support for visually-impaired users - just drop us a line for a quote. Don't forget to sign our on-line petition to lobby for improved access to music education and music technology at: http://www.raisedbar.net/petition.htm
I've run into this problem and it is a bit of a pain. I initially installed boost via MacPorts which I have found the easiest way to keep things working and up to date. https://www.macports.org/install.php I'm using Xcode 4.6.1. I use CMake to generate my xcodeproj, but hopefully some of this should still apply. Then, to resolve some of these other issues with targets but I believe I needed to change some of the build settings on the xcodeproj. If you go to the little folder icon aka Project Navigator > Project Build settings (on the right) > Architectures + Base SDK + Supported Platforms + Valid Architecture. I have found that messing with some of those settings gets things to work again. The other thing I may have done is regenerated my Xcode project in CMake because the generated targets were out of date, though that may or may not be helpful to you. I'm sorry I don't have a more straightforward answer, but I never actually wrote the steps down and I figure that some suggestions are better than none and may lead you in the right direction. Cheers! Andrew Hundt On Fri, Mar 22, 2013 at 1:27 PM, Tim Burgess <tim@raisedbar.net> wrote:
Hi,
I have an XCode c++ project that uses the static serialisation library (as well as FileSystem, IOStream and System). The project started out on XCode 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0, built against Apple's 10.6 SDK.
However, I needed to use the XCode debugger to track down some run-time issues and found I couldn't access the debugger on this version of XCode (I'm blind and have to use the VoiceOver utility to gain access to my Mac). Having taken advice, I upgraded to Mac OSX 10.8, SDK 10.8 and XCode 4.6, which solves my debugging issue.
Unfortunately, my project no longer links correctly. The linker complains that it can't find symbols for my architecture (x86_64) - the messages are in the the form:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta rt(char const*)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::version_type&, int)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::class_id_type&, int)", referenced from:
(I've truncated the output here for brevity). I get no linker errors for any of the other Boost binaries - it's only the serialisation library that creates a problem.
The project is configured to compile with the llvmgcc42 compiler, as it also uses the wxWidgets libraries, which don't support compilation using clang.
Boost versions tried:
1_50_0, 1_52_0 and 1_53_0.
Boost build options tried:
1 - Default (no options specified) - this worked on Mac OSX 10.6, Snow Leopard.
2 - As follows:
macosx-version=10.3 macosx-version-min=10.6 architecture=combined threading=multi link=static address-model=32_64
3 - As follows:
architecture=combined address-model=32_64
I'm a novice using Boost and the Mac, so would appreciate any suggestions as to how I can resolve this issue.
Best wishes. Tim Burgess Raised Bar Ltd. Tel: +44 (0)1827 719822 Web: http://www.raisedbar.net
We can supply Roland and Avid products with specialist pre and post-sales support for visually-impaired users - just drop us a line for a quote.
Don't forget to sign our on-line petition to lobby for improved access to music education and music technology at: http://www.raisedbar.net/petition.htm
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Hi Andrew, Many thanks for the feedback. I've already been down the MacPorts route, but it didn't seem to help and a colleague suggested I'd be better off taking the "raw" approach and building from source before posting to this list. I'll have another go at fiddling with the architecture parameters in XCode, but I've tried this before and only succeeded in generating more errors rather than fewer:) If you happen to have a burst of inspiration as to the details of your solution, I'd really appreciate hearing about it. Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Andrew Hundt Sent: 22 March 2013 18:08 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC I've run into this problem and it is a bit of a pain. I initially installed boost via MacPorts which I have found the easiest way to keep things working and up to date. https://www.macports.org/install.php I'm using Xcode 4.6.1. I use CMake to generate my xcodeproj, but hopefully some of this should still apply. Then, to resolve some of these other issues with targets but I believe I needed to change some of the build settings on the xcodeproj. If you go to the little folder icon aka Project Navigator > Project Build settings (on the right) > Architectures + Base SDK + Supported Platforms + Valid Architecture. I have found that messing with some of those settings gets things to work again. The other thing I may have done is regenerated my Xcode project in CMake because the generated targets were out of date, though that may or may not be helpful to you. I'm sorry I don't have a more straightforward answer, but I never actually wrote the steps down and I figure that some suggestions are better than none and may lead you in the right direction. Cheers! Andrew Hundt On Fri, Mar 22, 2013 at 1:27 PM, Tim Burgess <tim@raisedbar.net> wrote:
Hi,
I have an XCode c++ project that uses the static serialisation library (as well as FileSystem, IOStream and System). The project started out on XCode 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0, built against Apple's 10.6 SDK.
However, I needed to use the XCode debugger to track down some run-time issues and found I couldn't access the debugger on this version of XCode (I'm blind and have to use the VoiceOver utility to gain access to my Mac). Having taken advice, I upgraded to Mac OSX 10.8, SDK 10.8 and XCode 4.6, which solves my debugging issue.
Unfortunately, my project no longer links correctly. The linker complains that it can't find symbols for my architecture (x86_64) - the messages are in the the form:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::lo ad_sta rt(char const*)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::lo ad_ove rride(boost::archive::version_type&, int)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::lo ad_ove rride(boost::archive::class_id_type&, int)", referenced from:
(I've truncated the output here for brevity). I get no linker errors for any of the other Boost binaries - it's only the serialisation library that creates a problem.
The project is configured to compile with the llvmgcc42 compiler, as it also uses the wxWidgets libraries, which don't support compilation using clang.
Boost versions tried:
1_50_0, 1_52_0 and 1_53_0.
Boost build options tried:
1 - Default (no options specified) - this worked on Mac OSX 10.6, Snow Leopard.
2 - As follows:
macosx-version=10.3 macosx-version-min=10.6 architecture=combined threading=multi link=static address-model=32_64
3 - As follows:
architecture=combined address-model=32_64
I'm a novice using Boost and the Mac, so would appreciate any suggestions as to how I can resolve this issue.
Best wishes. Tim Burgess Raised Bar Ltd. Tel: +44 (0)1827 719822 Web: http://www.raisedbar.net
We can supply Roland and Avid products with specialist pre and post-sales support for visually-impaired users - just drop us a line for a quote.
Don't forget to sign our on-line petition to lobby for improved access to music education and music technology at: http://www.raisedbar.net/petition.htm
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 22/03/13 18:27, Tim Burgess wrote:
Unfortunately, my project no longer links correctly. The linker complains that it can't find symbols for my architecture (x86_64)
You're probably linking against a binary built with different settings that the ones you're using.
- the messages are in the the form:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta rt(char const*)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::version_type&, int)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::class_id_type&, int)", referenced from:
(I've truncated the output here for brevity).
Unfortunately, you removed the relevant bits.
Hi Mathias, Not sure what the netiquette is on this list for providing large amounts of output, so I'll play safe and post a link to the full build output and files containing what Boost build options I've tried and my XCode project configuration. https://dl.dropbox.com/u/29578720/Boost%20serialisation%20and%20XCode.zip My naive interpretation would be that, if my binaries were built using the wrong options, I'd expect all of them to throw up errors, since the project also uses FileSystem, IOStream and System, but this isn't the case. Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Mathias Gaunard Sent: 23 March 2013 22:59 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC On 22/03/13 18:27, Tim Burgess wrote:
Unfortunately, my project no longer links correctly. The linker complains that it can't find symbols for my architecture (x86_64)
You're probably linking against a binary built with different settings that the ones you're using.
- the messages are in the the form:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta
rt(char const*)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove
rride(boost::archive::version_type&, int)", referenced from:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove
rride(boost::archive::class_id_type&, int)", referenced from:
(I've truncated the output here for brevity).
Unfortunately, you removed the relevant bits. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Tim Burgess <tim <at> raisedbar.net> writes:
Hi,
I have an XCode c++ project that uses the static serialisation library (as well as FileSystem, IOStream and System). The project started out on XCode 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0, built against Apple's 10.6 SDK.
[...] Hi, This is really just a guess, but: Did you build Boost using clang with libc++? If so, and if you are building your project with gcc and stdlibc++, that could be the source of the problem. IIRC, libc++ broke the ABI compatibility with stdlibc++. To turn potential runtime errors into link-time errors, they used inline namespaces. For example, symbols inside the std namespace with libc++ are of the form std::__1::symbol while with stdlibc++ they are of the form std::symbol When linking with a library built with a different runtime, the linker will fail to find the symbols, turning a nasty runtime error into a link failure. If I were you, I would look at the symbols exported by Boost. If they don't match those referenced by your project, that could be it. Best of luck, Louis
Hi, I built Boost with the Darwin toolset, so that uses GCC (how can I check which linker is being used by the Boost build system?). My application project is linking using libc++. Assuming I've got a linker mismatch, how can I either get Boost to link using libc++, or get XCode to link using stdlibc? Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Louis Dionne Sent: 26 March 2013 15:05 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC Tim Burgess <tim <at> raisedbar.net> writes:
Hi,
I have an XCode c++ project that uses the static serialisation library (as well as FileSystem, IOStream and System). The project started out on XCode 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0, built against Apple's 10.6 SDK.
[...] Hi, This is really just a guess, but: Did you build Boost using clang with libc++? If so, and if you are building your project with gcc and stdlibc++, that could be the source of the problem. IIRC, libc++ broke the ABI compatibility with stdlibc++. To turn potential runtime errors into link-time errors, they used inline namespaces. For example, symbols inside the std namespace with libc++ are of the form std::__1::symbol while with stdlibc++ they are of the form std::symbol When linking with a library built with a different runtime, the linker will fail to find the symbols, turning a nasty runtime error into a link failure. If I were you, I would look at the symbols exported by Boost. If they don't match those referenced by your project, that could be it. Best of luck, Louis _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26 March 2013 16:00, Tim Burgess wrote:
Hi,
I built Boost with the Darwin toolset, so that uses GCC (how can I check which linker is being used by the Boost build system?). My application project is linking using libc++.
Assuming I've got a linker mismatch, how can I either get Boost to link using libc++,
You'd need to pass -stdlib=libc++ to clang when compiling and linking.
or get XCode to link using stdlibc?
There must be some XCode option to pass -stdlib=libstdc++ to the compiler, which tells it to use libstdc++.
OK, I found an article suggesting I set an XCode linker flag: -Lstdlibc++ It doesn't help, so I'll try your suggestion and attempt a Boost rebuild using libc++. Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Jonathan Wakely Sent: 26 March 2013 16:04 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC On 26 March 2013 16:00, Tim Burgess wrote:
Hi,
I built Boost with the Darwin toolset, so that uses GCC (how can I check which linker is being used by the Boost build system?). My application project is linking using libc++.
Assuming I've got a linker mismatch, how can I either get Boost to link using libc++,
You'd need to pass -stdlib=libc++ to clang when compiling and linking.
or get XCode to link using stdlibc?
There must be some XCode option to pass -stdlib=libstdc++ to the compiler, which tells it to use libstdc++. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26 March 2013 16:31, Tim Burgess wrote:
OK,
I found an article suggesting I set an XCode linker flag:
-Lstdlibc++
Really? Despite widespread misunderstanding (including in <boost/config/stdlib/libstdcpp3.hpp>) the library is called libstdc++ not stdlibc++ and lives in a file called libstdc++.so, whereas I believe libc++ lives in a file called libc++.so, so I don't see how just setting a directory with -L can change anything.
I'll take your word for it. My main issue here is that I'm a complete novice on Mac, XCode and Boost, so it feels like crossing Europe without a map. I'm trying hard to read articles and try the suggestions I find, but don't have the experience to evaluate the credibility of the articles before giving them a whirl. I tried the flag with -l and -L, just in case it was case-sensitive (it appears not, but you may tell me different). Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Jonathan Wakely Sent: 26 March 2013 16:53 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC On 26 March 2013 16:31, Tim Burgess wrote:
OK,
I found an article suggesting I set an XCode linker flag:
-Lstdlibc++
Really? Despite widespread misunderstanding (including in <boost/config/stdlib/libstdcpp3.hpp>) the library is called libstdc++ not stdlibc++ and lives in a file called libstdc++.so, whereas I believe libc++ lives in a file called libc++.so, so I don't see how just setting a directory with -L can change anything. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26 March 2013 17:03, Tim Burgess wrote:
I'll take your word for it. My main issue here is that I'm a complete novice on Mac, XCode and Boost, so it feels like crossing Europe without a map. I'm trying hard to read articles and try the suggestions I find, but don't have the experience to evaluate the credibility of the articles before giving them a whirl. I tried the flag with -l and -L, just in case it was case-sensitive (it appears not, but you may tell me different).
"-L dir" adds the directory dir to the linker's search path, "-l x" tells it to link to a library libx.dylib or libx.a, so they are completely different.
Many thanks for the explanation. In your example of the lower-case version (i.e. the one I should be using) you have a space before the value. In the articles I've come across so far there's been no space - which form is correct, or is the space character seen as white space and ignored? Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Jonathan Wakely Sent: 26 March 2013 17:10 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC On 26 March 2013 17:03, Tim Burgess wrote:
I'll take your word for it. My main issue here is that I'm a complete novice on Mac, XCode and Boost, so it feels like crossing Europe without a map. I'm trying hard to read articles and try the suggestions I find, but don't have the experience to evaluate the credibility of the articles before giving them a whirl. I tried the flag with -l and -L, just in case it was case-sensitive (it appears not, but you may tell me different).
"-L dir" adds the directory dir to the linker's search path, "-l x" tells it to link to a library libx.dylib or libx.a, so they are completely different. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26 March 2013 17:24, Tim Burgess wrote:
Many thanks for the explanation. In your example of the lower-case version (i.e. the one I should be using) you have a space before the value. In the articles I've come across so far there's been no space - which form is correct, or is the space character seen as white space and ignored?
"-l x" and "-lx" are equivalent.
OK, I've found the appropriate setting in XCode that yields a command line containing -stdlib=libstdc++ but, unfortunately, I still get linkage errors against the serialisation library. To be precise, I deleted and rebuilt my Boost, as follows: Cd /users/tim/developer/libraries/boost_1_53_0 ./bootstrap.sh ./b2 The output from my project is as follows: Ld /Users/tim/Library/Developer/Xcode/DerivedData/SurfaceReader-fwryryuvfvwihng lkuymbbjtxpac/Build/Products/Debug/SurfaceReader.app/Contents/MacOS/SurfaceR eader normal x86_64 cd /Users/tim/Developer/SurfaceReader setenv MACOSX_DEPLOYMENT_TARGET 10.8 /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develop er/SDKs/MacOSX10.8.sdk -L/Users/tim/Library/Developer/Xcode/DerivedData/SurfaceReader-fwryryuvfvwih nglkuymbbjtxpac/Build/Products/Debug -L/users/tim/developer/libraries/boost_1_53_0/stage/lib -L/Users/tim/Developer/SurfaceReader/../Libraries/cryptopp561 -L/Users/tim/Developer/SurfaceReader/../Libraries/boost_1_53_0/stage/lib -F/Users/tim/Library/Developer/Xcode/DerivedData/SurfaceReader-fwryryuvfvwih nglkuymbbjtxpac/Build/Products/Debug -filelist /Users/tim/Library/Developer/Xcode/DerivedData/SurfaceReader-fwryryuvfvwihng lkuymbbjtxpac/Build/Intermediates/SurfaceReader.build/Debug/SurfaceReader.bu ild/Objects-normal/x86_64/SurfaceReader.LinkFileList -mmacosx-version-min=10.8 -L/Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_xrc-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_webview-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_qa-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_baseu_n et-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_html-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_adv-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_osx_coc oau_core-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_baseu_x ml-2.9.a /Users/tim/developer/libraries/wxwidgets-2.9.4/build-debug/lib/libwx_baseu-2 .9.a -framework WebKit -lexpat -lwxregexu-2.9 -lwxtiff-2.9 -lwxjpeg-2.9 -lwxpng-2.9 -lz -lpthread -liconv -stdlib=libstdc++ -fobjc-arc -fobjc-link-runtime -lboost_system -lboost_serialization -lboost_iostreams -lboost_filesystem -lcryptopp -framework CoreMIDI -framework CoreAudio -framework Cocoa -o /Users/tim/Library/Developer/Xcode/DerivedData/SurfaceReader-fwryryuvfvwihng lkuymbbjtxpac/Build/Products/Debug/SurfaceReader.app/Contents/MacOS/SurfaceR eader Undefined symbols for architecture x86_64: "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta rt(char const*)", referenced from: void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
(boost::serialization::nvp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::basic_string<char, std::char_traits<char>, std::allocator<char> > (boost::serialization::nvp<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::vector<long, std::allocator<long> > (boost::serialization::nvp<std::vector<long, std::allocator<long> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, MessageDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MessageDefinition> > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, MessageDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MessageDefinition> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, DisplayDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, DisplayDefinition> > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, DisplayDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, DisplayDefinition> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > > > > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > > > > > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > (boost::serialization::nvp<std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int)in SurfaceFrame.o ...
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::version_type&, int)", referenced from: void boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load_over ride<boost::archive::version_type>(boost::archive::version_type&, int)in SurfaceFrame.o "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::class_id_type&, int)", referenced from: void boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load_over ride<boost::archive::class_id_type>(boost::archive::class_id_type&, int)in SurfaceFrame.o "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::tracking_type&, int)", referenced from: void boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load_over ride<boost::archive::tracking_type>(boost::archive::tracking_type&, int)in SurfaceFrame.o "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::object_id_type&, int)", referenced from: void boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load_over ride<boost::archive::object_id_type>(boost::archive::object_id_type&, int)in SurfaceFrame.o "boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_end (char const*)", referenced from: void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
(boost::serialization::nvp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::basic_string<char, std::char_traits<char>, std::allocator<char> > (boost::serialization::nvp<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::vector<long, std::allocator<long> > (boost::serialization::nvp<std::vector<long, std::allocator<long> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, MessageDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MessageDefinition> > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, MessageDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MessageDefinition> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, DisplayDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, DisplayDefinition> > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, DisplayDefinition, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, DisplayDefinition> > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > > > > > (boost::serialization::nvp<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::map<unsigned char, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > > > > > > const&, int)in SurfaceFrame.o void boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_over ride<std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > (boost::serialization::nvp<std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int)in SurfaceFrame.o ...
"boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_sta rt(char const*)", referenced from: void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<bool>(boost::serialization::nvp<bool> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<boost::serialization::collection_size_type>(boost::serialization::nvp<b oost::serialization::collection_size_type> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<boost::serialization::item_version_type const>(boost::serialization::nvp<boost::serialization::item_version_type const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<long const>(boost::serialization::nvp<long const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<unsigned char const>(boost::serialization::nvp<unsigned char const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<unsigned char>(boost::serialization::nvp<unsigned char> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
(boost::serialization::nvp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&, int)in SurfaceFrame.o ...
"boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::end_prea mble()", referenced from: void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, bool>(boost::archive::xml_woarchive&, bool const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, boost::serialization::collection_size_type>(boost::archive::xml_woarchive&, boost::serialization::collection_size_type const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, boost::serialization::item_version_type>(boost::archive::xml_woarchive&, boost::serialization::item_version_type const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, long>(boost::archive::xml_woarchive&, long const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, unsigned char>(boost::archive::xml_woarchive&, unsigned char const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(boost::archive::xml_woarchive&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)in SurfaceFrame.o void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
(boost::archive::xml_woarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in SurfaceFrame.o ...
"boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::version_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::version_type const>(boost::archive::version_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::class_id_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::class_id_type const>(boost::archive::class_id_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::tracking_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::tracking_type const>(boost::archive::tracking_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::object_id_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::object_id_type const>(boost::archive::object_id_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::class_name_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::class_name_type const>(boost::archive::class_name_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::object_reference_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::object_reference_type const>(boost::archive::object_reference_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::class_id_optional_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::class_id_optional_type const>(boost::archive::class_id_optional_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_ove rride(boost::archive::class_id_reference_type const&, int)", referenced from: boost::archive::xml_woarchive& boost::archive::detail::interface_oarchive<boost::archive::xml_woarchive>::o perator<< <boost::archive::class_id_reference_type const>(boost::archive::class_id_reference_type const&)in SurfaceFrame.o "boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_end (char const*)", referenced from: void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<bool>(boost::serialization::nvp<bool> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<boost::serialization::collection_size_type>(boost::serialization::nvp<b oost::serialization::collection_size_type> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<boost::serialization::item_version_type const>(boost::serialization::nvp<boost::serialization::item_version_type const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<long const>(boost::serialization::nvp<long const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<unsigned char const>(boost::serialization::nvp<unsigned char const> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<unsigned char>(boost::serialization::nvp<unsigned char> const&, int)in SurfaceFrame.o void boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::save_over ride<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
(boost::serialization::nvp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&, int)in SurfaceFrame.o ...
"boost::archive::basic_xml_oarchive<boost::archive::xml_woarchive>::~basic_x ml_oarchive()", referenced from: boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o "boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load_ove rride(boost::archive::class_name_type&, int)", referenced from: boost::archive::xml_wiarchive& boost::archive::detail::interface_iarchive<boost::archive::xml_wiarchive>::o perator>><boost::archive::class_name_type>(boost::archive::class_name_type&) in SurfaceFrame.o "boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load(std ::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>
&)", referenced from: void boost::archive::load_access::load_primitive<boost::archive::xml_wiarchive, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(boost::archive::xml_wiarchive&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)in SurfaceFrame.o
"boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::load(std ::basic_string<char, std::char_traits<char>, std::allocator<char> >&)", referenced from: void boost::archive::load_access::load_primitive<boost::archive::xml_wiarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
(boost::archive::xml_wiarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in SurfaceFrame.o
"boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::xml_wiar chive_impl(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, unsigned int)", referenced from: boost::archive::xml_wiarchive::xml_wiarchive(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, unsigned int)in SurfaceFrame.o "boost::archive::xml_wiarchive_impl<boost::archive::xml_wiarchive>::~xml_wia rchive_impl()", referenced from: boost::archive::xml_wiarchive::xml_wiarchive(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, unsigned int)in SurfaceFrame.o boost::archive::xml_wiarchive::~xml_wiarchive()in SurfaceFrame.o boost::archive::xml_wiarchive::~xml_wiarchive()in SurfaceFrame.o "boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::save(std ::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)", referenced from: void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(boost::archive::xml_woarchive&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)in SurfaceFrame.o "boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::save(std ::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: void boost::archive::save_access::save_primitive<boost::archive::xml_woarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
(boost::archive::xml_woarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in SurfaceFrame.o
"boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::xml_woar chive_impl(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, unsigned int)", referenced from: boost::archive::xml_woarchive::xml_woarchive(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, unsigned int)in SurfaceFrame.o "boost::archive::basic_text_oprimitive<std::basic_ostream<wchar_t, std::char_traits<wchar_t> > >::~basic_text_oprimitive()", referenced from: boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o boost::archive::xml_woarchive_impl<boost::archive::xml_woarchive>::~xml_woar chive_impl()in SurfaceFrame.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Jonathan Wakely Sent: 26 March 2013 17:29 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC On 26 March 2013 17:24, Tim Burgess wrote:
Many thanks for the explanation. In your example of the lower-case version (i.e. the one I should be using) you have a space before the value. In the articles I've come across so far there's been no space - which form is correct, or is the space character seen as white space and ignored?
"-l x" and "-lx" are equivalent. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Tim Burgess <tim <at> raisedbar.net> writes:
I've found the appropriate setting in XCode that yields a command line containing -stdlib=libstdc++ but, unfortunately, I still get linkage errors against the serialisation library. [...]
I am quite clueless about your situation, sorry. All I can suggest is: (1) Make real sure Boost is built with the library you're expecting by looking at the command line issued by bjam (I don't know how to do that). (2) Look at the symbols exported by Boost. If the symbols that are exported by Boost are the same as those referenced by your object file, then the problem lies elsewhere because the linker would find them. man nm, man otool, man objdump are starting points for dumping symbols. See stackoverflow too, there are some related questions about dumping (demangled) symbols. Louis
AMDG On 03/26/2013 11:34 AM, Tim Burgess wrote:
<snip> /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 ... -lboost_system -lboost_serialization -lboost_iostreams -lboost_filesystem ...
Undefined symbols for architecture x86_64:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::load_sta rt(char const*)", referenced from: <snip>
You're missing -lboost_wserialization In Christ, Steven Watanabe
OK, I assume this handles Unicode content in archives. Should this be a .a file on my system (presumably within my stage/lib folder)? Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Steven Watanabe Sent: 26 March 2013 19:02 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC AMDG On 03/26/2013 11:34 AM, Tim Burgess wrote:
<snip> /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 ... -lboost_system -lboost_serialization -lboost_iostreams -lboost_filesystem ...
Undefined symbols for architecture x86_64:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::lo ad_sta rt(char const*)", referenced from: <snip>
You're missing -lboost_wserialization In Christ, Steven Watanabe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Well, Having the correct files included in the project sure makes a difference:) My only excuse is that my speech output on the Mac mangled this file name, so I hadn't recognised it for what it was (this is lame). I'll do some more experimenting to see if reverting my linker changes affects the result, but the project now builds. Many thanks to all who got me to this point. Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Steven Watanabe Sent: 26 March 2013 19:02 To: boost@lists.boost.org Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC AMDG On 03/26/2013 11:34 AM, Tim Burgess wrote:
<snip> /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 ... -lboost_system -lboost_serialization -lboost_iostreams -lboost_filesystem ...
Undefined symbols for architecture x86_64:
"boost::archive::basic_xml_iarchive<boost::archive::xml_wiarchive>::lo ad_sta rt(char const*)", referenced from: <snip>
You're missing -lboost_wserialization In Christ, Steven Watanabe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (6)
-
Andrew Hundt
-
Jonathan Wakely
-
Louis Dionne
-
Mathias Gaunard
-
Steven Watanabe
-
Tim Burgess