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.