How to correct when Auto-link gets it wrong in VS

I installed boost both with bjam and with the BoostPro installer, both times with the same option. I specified that it should install as Multi-Threaded Debug DLL. I'm using Visual Studio 2008 EE. I followed the steps here: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html But Visual Studio won't link, it says it can't find: libboost_system-vc90-mt-sgd-1_44.lib, which is because the file really is: boost_system-vc90-mt-gd-1_44.lib According to this page: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html#libra... the problem is that VS is trying to find the static library, although I installed the dynamic one. I can't find in the getting_started where you tell VS which version to use. Thanks.

AMDG On 12/4/2010 1:06 PM, Paul Bergen wrote:
I installed boost both with bjam and with the BoostPro installer, both times with the same option. I specified that it should install as Multi-Threaded Debug DLL. I'm using Visual Studio 2008 EE. I followed the steps here: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html
But Visual Studio won't link, it says it can't find: libboost_system-vc90-mt-sgd-1_44.lib, which is because the file really is: boost_system-vc90-mt-gd-1_44.lib
According to this page: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html#libra... the problem is that VS is trying to find the static library, although I installed the dynamic one. I can't find in the getting_started where you tell VS which version to use.
compile with -DBOOST_ALL_DYN_LINK In Christ, Steven Watanabe

On 12/4/2010 1:06 PM, Paul Bergen wrote:
I installed boost both with bjam and with the BoostPro installer, both times with the same option. I specified that it should install as Multi-Threaded Debug DLL. I'm using Visual Studio 2008 EE. I followed the steps here: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html
But Visual Studio won't link, it says it can't find: libboost_system-vc90-mt-sgd-1_44.lib, which is because the file really is: boost_system-vc90-mt-gd-1_44.lib
According to this page: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html#libra... the problem is that VS is trying to find the static library, although I installed the dynamic one. I can't find in the getting_started where you tell VS which version to use.
compile with -DBOOST_ALL_NO_LIB to disable auto-linking completely. This also solves the problem that a header only library like ublas tries to autolink against serialization, just because somebody provided serialization functionality for the header only library. Regards, Thomas

According to this page: http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html#libra... the problem is that VS is trying to find the static library, although I installed the dynamic one. I can't find in the getting_started where you tell VS which version to use.
compile with -DBOOST_ALL_NO_LIB to disable auto-linking completely. This also solves the problem that a header only library like ublas tries to autolink against serialization, just because somebody provided serialization functionality for the header only library.
True, but you'd better way be sure to link against the correct import lib... otherwise don't come running to us! ;) John.

On 05/12/2010 17:11, Thomas Klimpel wrote:
This also solves the problem that a header only library like ublas tries to autolink against serialization, just because somebody provided serialization functionality for the header only library.
Auto-linking against a particular depencendy should only be done if you include the header that triggers that dependency.

Mathias Gaunard wrote:
On 05/12/2010 17:11, Thomas Klimpel wrote:
This also solves the problem that a header only library like ublas tries to autolink against serialization, just because somebody provided serialization functionality for the header only library.
Auto-linking against a particular depencendy should only be done if you include the header that triggers that dependency.
Actually, I believe that you only trigger the dependency if you actually invoke some function in the library. At least that's the way it should be. Robert Ramey.

AMDG On 12/5/2010 12:55 PM, Robert Ramey wrote:
Mathias Gaunard wrote:
Auto-linking against a particular depencendy should only be done if you include the header that triggers that dependency. Actually, I believe that you only trigger the dependency if you actually invoke some function in the library. At least that's the way it should be.
This isn't possible, since auto-linking is done with a #pragma. I don't know of a way to make it dependent on actually calling a library function. In Christ, Steven Watanabe
participants (6)
-
John Maddock
-
Mathias Gaunard
-
Paul Bergen
-
Robert Ramey
-
Steven Watanabe
-
Thomas Klimpel