Hi,
Here is what I get when I try to link my unit tests agains
boost_date_time.
g++ -LC:\dev\workspace\fxoverlayFundation\Debug
-LC:\dev\workspace\fxoverlayBusiness\Debug -LC:\dev\boost_1_34_1\stage\lib
-ofxoverlayBusinessTests.exe emptyTests.o allTests.o InterestRateTests.o
InterestCurveTests.o -lboost_date_time-mgw34-d-1_34_1
-lboost_unit_test_framework-mgw34-d-1_34_1 -lfxoverlayBusiness
-lfxoverlayFundation
C:\dev\workspace\fxoverlayBusiness\Debug/libfxoverlayBusiness.a(InterestCurve.o):
In function
`ZSt10_ConstructISt4pairIKSsN3com9fxoverlay8business12InterestRateEES6_EvPT_RKT0_':
C:/dev/msys/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_tree.h:(.text$_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIcEEcE12format_monthERKS3_RSo[boost::date_time::month_formatter
On Tue, 15 Jan 2008 21:47:39 +0100 jerome.wacongne@fxoverlay.com wrote:
Hi,
Here is what I get when I try to link my unit tests agains boost_date_time.
g++ -LC:\dev\workspace\fxoverlayFundation\Debug -LC:\dev\workspace\fxoverlayBusiness\Debug -LC:\dev\boost_1_34_1\stage\lib -ofxoverlayBusinessTests.exe emptyTests.o allTests.o InterestRateTests.o InterestCurveTests.o -lboost_date_time-mgw34-d-1_34_1 -lboost_unit_test_framework-mgw34-d-1_34_1 -lfxoverlayBusiness -lfxoverlayFundation C:\dev\workspace\fxoverlayBusiness\Debug/libfxoverlayBusiness.a(InterestCurve.o): In function `ZSt10_ConstructISt4pairIKSsN3com9fxoverlay8business1 2InterestRateEES6_EvPT_RKT0_': ... undefined reference to `boost::gregorian::greg_month::as_long_string() const'
Libraries should be listed (with the -l option) in "ascending order of use", that is, if library A uses library B, then library B should be listed after A. The error message says that libfxoverlayBusiness.a uses boost::gregorian, that is, libboost_date_time-mgw34-d-1_34_1.a, so libboost_date_time-mgw34-d-1_34_1.a should be listed after libfxoverlayBusiness.a, but you have listed it before. So: try to change the order of the "*.o" and "*.a" to make the linker happy. ;) HTH, Raul.
That was the exact problem. I could have spent days to find out this (I am new to C++ and such tricky things weren't in my book) Thank you for your efficient help ! Internet raulh39@ya.com Envoyé par : boost-users-bounces@lists.boost.org 16/01/2008 21:05 Veuillez répondre à boost-users@lists.boost.org Pour boost-users@lists.boost.org cc Objet Re: [Boost-users] problems linking boost_date_time On Tue, 15 Jan 2008 21:47:39 +0100 jerome.wacongne@fxoverlay.com wrote:
Hi,
Here is what I get when I try to link my unit tests agains boost_date_time.
g++ -LC:\dev\workspace\fxoverlayFundation\Debug -LC:\dev\workspace\fxoverlayBusiness\Debug -LC:\dev\boost_1_34_1\stage\lib -ofxoverlayBusinessTests.exe emptyTests.o allTests.o InterestRateTests.o
InterestCurveTests.o -lboost_date_time-mgw34-d-1_34_1 -lboost_unit_test_framework-mgw34-d-1_34_1 -lfxoverlayBusiness -lfxoverlayFundation
C:\dev\workspace\fxoverlayBusiness\Debug/libfxoverlayBusiness.a(InterestCurve.o):
In function `ZSt10_ConstructISt4pairIKSsN3com9fxoverlay8business1 2InterestRateEES6_EvPT_RKT0_': ... undefined reference to `boost::gregorian::greg_month::as_long_string() const'
Libraries should be listed (with the -l option) in "ascending order of use", that is, if library A uses library B, then library B should be listed after A. The error message says that libfxoverlayBusiness.a uses boost::gregorian, that is, libboost_date_time-mgw34-d-1_34_1.a, so libboost_date_time-mgw34-d-1_34_1.a should be listed after libfxoverlayBusiness.a, but you have listed it before. So: try to change the order of the "*.o" and "*.a" to make the linker happy. ;) HTH, Raul. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive this message in error, please delete it and immediately notify the sender. Any use not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. The internet can not guarantee the integrity of this message. Overlay AM (and its subsidiaries) shall (will) not therefore be liable for the message if modified. --------------------------------------------- Ce message et toutes les pieces jointes (ci-apres le "message") sont etablis a l'intention exclusive de ses destinataires et sont confidentiels. Si vous recevez ce message par erreur, merci de le detruire et d'en avertir immediatement l'expediteur. Toute utilisation de ce message non conforme a sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse. L'internet ne permettant pas d'assurer l'integrite de ce message, Overlay AM (et ses filiales) decline(nt) toute responsabilite au titre de ce message, dans l'hypothese ou il aurait ete modifie.
participants (2)
-
jerome.wacongne@fxoverlay.com
-
raulh39@ya.com