Windows boost linker error

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
Locked
jhooks1
Posts: 780
Joined: 06 Aug 2011, 21:34

Windows boost linker error

Post by jhooks1 »

I am trying to merge in master into my current branch. When I build I get one linker error:
Error 1068 error LNK1104: cannot open file 'libboost_thread-vc100-mt-1_44.lib' C:\a\openmw\new10\apps\openmw\LINK

I am using boost 1.5 (headers and libs). I did a fresh cmake build. Visual Studio seemed to pick up boost 1.5 for everything else. Why does it want a 1.44 library of thread?

EDIT: I was having compile errors once I did the merge that were boost related, so I figured 1.44 was too old.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Windows boost linker error

Post by Zini »

Still using 1.40 here. Works fine.
jhooks1
Posts: 780
Joined: 06 Aug 2011, 21:34

Re: Windows boost linker error

Post by jhooks1 »

I get these errors when using 1.44:

Error 832 error C2039: 'absolute' : is not a member of 'boost::filesystem' C:\a\openmw\libs\openengine\ogre\renderer.cpp 116
Error 833 error C3861: 'absolute': identifier not found C:\a\openmw\libs\openengine\ogre\renderer.cpp 116
Error 834 error C2039: 'absolute' : is not a member of 'boost::filesystem' C:\a\openmw\apps\launcher\graphicspage.cpp 119
Error 835 error C3861: 'absolute': identifier not found C:\a\openmw\apps\launcher\graphicspage.cpp 119

Never seen these before I did the merge.
Using 1.5 seems to get rid of the compile errors, but introduces the previously mentioned linker errors.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Windows boost linker error

Post by Zini »

Error 832 error C2039: 'absolute' : is not a member of 'boost::filesystem' C:\a\openmw\libs\openengine\ogre\renderer.cpp 116
Error 833 error C3861: 'absolute': identifier not found C:\a\openmw\libs\openengine\ogre\renderer.cpp 116
Error 834 error C2039: 'absolute' : is not a member of 'boost::filesystem' C:\a\openmw\apps\launcher\graphicspage.cpp 119
Error 835 error C3861: 'absolute': identifier not found C:\a\openmw\apps\launcher\graphicspage.cpp 119
We have a workaround for this problem, but maybe it is using the wrong version number to decide if the replacement function needs to kick in.

Anyway, the version issue you are experiencing looks like a problem with your setup. Our cmake scripts definitely do not cause linking of two different versions of boost at once. Maybe you have some remains somewhere from when you tried to use 1.44? Some cmake variables? Some outdated project files?
jhooks1
Posts: 780
Joined: 06 Aug 2011, 21:34

Re: Windows boost linker error

Post by jhooks1 »

I just did a fresh install of boost 1.44 from the boost site and a fresh cmake. There are no other boost resources in this cmake, just 1.44. Same error Error 832 error C2039: 'absolute' : is not a member of 'boost::filesystem' C:\a\openmw\libs\openengine\ogre\renderer.cpp 116
Have any other windows users using vs2010 tried boost 1.44 with the latest master? Or succeeded with any other version of boost using windows and vs2010?

I could try out a pre 1.44 version of boost but there seem to be no vc100 builds available for them, guess I would have to build them myself.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Windows boost linker error

Post by Zini »

I pushed a branch named boostfix. Please see, if it does improve the situation.
jhooks1
Posts: 780
Joined: 06 Aug 2011, 21:34

Re: Windows boost linker error

Post by jhooks1 »

Thanks, your fix works for 1.44. In the future for a change like this it would be appreciated to do a little more research/testing on API differences between versions.

I am still puzzled as to why I got that linker error with 1.50, but I don't need the newest boost so its not a big deal for me. Probably a good idea for another windows user to do tests with different versions of boost (particularly 1.5 to see if this is actually a core problem with it).
corristo
Posts: 495
Joined: 12 Aug 2011, 08:29

Re: Windows boost linker error

Post by corristo »

Sorry, it was my mistake. On the other hand boost docs can be more clear about since what version particular method/class is available.
Locked