Boost library 1.47.1 build 'lib' prefix causing error LNK1104
I am having difficulty generating the correct boost.lib file to compile with the VS project I was given. It looks like after doing a full build using "b2.exe" from VS2010 command line I can only generate boost library files containing lib prefix.
When I come to compile my project, I get the following error message: "Error LNK1104: Unable to open file 'boost_signals-vc90-mt-1_47.lib'"
After going through the lib folder I can see that my boost build only generates "libboost_signals-vc90-mt-1_47.lib"
The boost documentation contains the following information about the lib prefix:
Lib Prefix: Except Microsoft Windows, every Boost library name starts with this line. On Windows, only regular static libraries use the lib prefix; import libraries and DLLs don't work.
So far I've tried using the following build options for the msvc-9.0 toolkit: "Assemblies like = full" "Link = static, general
Any advice on how I can generate the required .lib file is greatly appreciated. Many thanks.
source to share
link = static should be used whenever you link to the static version of the boost library. link = shared - should be used when you are dynamically linking to promote. It will add additional dependencies to boost dll.
You can also use link = static, shared to create both static and dynamic versions.
Define 'BOOST_ALL_DYN_LINK' in project controls as you reference boost. If it is defined it is dynamic binding, if not defined it is static binding.
source to share