linking to boost 1.54 w/ windows and visual studio 2013 RC

Hi all I'm trying to compile my project as a shared library using scons. I'm using Windows 7, and the Visual Studio 2013 RC. In the project, I'm using boost. The project compiles fine. However, when it tries to link, I get the following: /scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly// // //scons: Reading SConscript files ...// //Compiling Glr// //scons: Reading SConscript files ...// //Parsing Shaders into header ShaderData.h// //Done parsing Shaders into header ShaderData.h// //scons: done reading SConscript files.// //scons: Building targets ...// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //link @c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpep9gzl.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //build\BasicSceneManager.obj : warning LNK4042: object specified more than once; extras ignored// //build\BasicSceneNode.obj : warning LNK4042: object specified more than once; extras ignored// //build\Camera.obj : warning LNK4042: object specified more than once; extras ignored// //build\GlrProgram.obj : warning LNK4042: object specified more than once; extras ignored// //build\GraphicsEngine.obj : warning LNK4042: object specified more than once; extras ignored// //build\Light.obj : warning LNK4042: object specified more than once; extras ignored// //build\Window.obj : warning LNK4042: object specified more than once; extras ignored// //LINK : fatal error LNK1104: cannot open file 'libboost_log-vc110-mt-1_54.lib'// //scons: building terminated because of errors.// //scons: *** [build/glr.dll] Error 1104/ I'm curious why it's trying to link to `libboost_log-vc110-mt-1_54.lib` instead of `libboost_log-vc120-mt-1_54.lib`, which is what I specified in the link command. Also, as far as I can tell, `vcxxx` is the compiler tag boost uses to tell what version of the compiler built the boost library...so it's almost like `scons` thinks boost was built using Visual Studio 2012, which would be `vc110`...I'm not sure. Any help is appreciated! Cheers Jarrett

On 24/09/2013 11:03 AM, Jarrett Chisholm wrote:
Hi all
I'm trying to compile my project as a shared library using scons. I'm using Windows 7, and the Visual Studio 2013 RC. In the project, I'm using boost.
The project compiles fine. However, when it tries to link, I get the following:
/scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly// // //scons: Reading SConscript files ...// //Compiling Glr// //scons: Reading SConscript files ...// //Parsing Shaders into header ShaderData.h// //Done parsing Shaders into header ShaderData.h// //scons: done reading SConscript files.// //scons: Building targets ...// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //link @c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpep9gzl.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //build\BasicSceneManager.obj : warning LNK4042: object specified more than once; extras ignored// //build\BasicSceneNode.obj : warning LNK4042: object specified more than once; extras ignored// //build\Camera.obj : warning LNK4042: object specified more than once; extras ignored// //build\GlrProgram.obj : warning LNK4042: object specified more than once; extras ignored// //build\GraphicsEngine.obj : warning LNK4042: object specified more than once; extras ignored// //build\Light.obj : warning LNK4042: object specified more than once; extras ignored// //build\Window.obj : warning LNK4042: object specified more than once; extras ignored// //LINK : fatal error LNK1104: cannot open file 'libboost_log-vc110-mt-1_54.lib'// //scons: building terminated because of errors.// //scons: *** [build/glr.dll] Error 1104/
I'm curious why it's trying to link to `libboost_log-vc110-mt-1_54.lib` instead of `libboost_log-vc120-mt-1_54.lib`, which is what I specified in the link command. Also, as far as I can tell, `vcxxx` is the compiler tag boost uses to tell what version of the compiler built the boost library...so it's almost like `scons` thinks boost was built using Visual Studio 2012, which would be `vc110`...I'm not sure.
Any help is appreciated!
Cheers
Jarrett
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Jarrett, VS2013 isn't supported in SCons yet, so the default behaviour for the various versions of VS stops at 2012 (VC11). See the last week of the SCons mailing list for details, VS2013 has caused some unusual behavior depending on how your system paths are set up. On your compile step, are you absolutely sure you were using VS2013? What did you build boost itself with? VS2013 or VS2012? (and are you sure of what you used?) This is all highly likely to be a SCons issue, not a Boost issue, and you should probably post your question to the SCons list. When I setup a build with SCons, I override the compiler/lib/linker commands in SCons to get around problems like this. Damien Damien

On 24/09/13 01:20 PM, Damien wrote:
On 24/09/2013 11:03 AM, Jarrett Chisholm wrote:
Hi all
I'm trying to compile my project as a shared library using scons. I'm using Windows 7, and the Visual Studio 2013 RC. In the project, I'm using boost.
The project compiles fine. However, when it tries to link, I get the following:
/scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly// // //scons: Reading SConscript files ...// //Compiling Glr// //scons: Reading SConscript files ...// //Parsing Shaders into header ShaderData.h// //Done parsing Shaders into header ShaderData.h// //scons: done reading SConscript files.// //scons: Building targets ...// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //link @c:\users\jarrett\appdata\local\temp\tmpecwym3.lnk// //Using tempfile c:\users\jarrett\appdata\local\temp\tmpep9gzl.lnk for command line:// //link /nologo /dll /out:build\glr.dll /implib:build\glr.lib /LIBPATH:build /LIBPATH:src /LIBPATH:C:\Users\Jarrett\projects\angelscript-sdk\angelscript\lib /LIBPATH:C:\Users\Jarrett\projects\sqlite3 /LIBPATH:C:\Users\Jarrett\projects\berkelium-win32\lib /LIBPATH:C:\Users\Jarrett\projects\SFML\lib "/LIBPATH:C:\Program Files\Assimp\lib\x86" "/LIBPATH:C:\Program Files (x86)\Boost\lib" /LIBPATH:C:\Users\Jarrett\projects\FreeImage\Dist "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" opengl32.lib glew32.lib berkelium.lib sfml-system.lib sfml-window.lib assimp.lib freeimage.lib libboost_log-vc120-mt-1_54.lib libboost_log_setup-vc120-mt-1_54.lib libboost_date_time-vc120-mt-1_54.lib libboost_thread-vc120-mt-1_54.lib libboost_wave-vc120-mt-1_54.lib libboost_regex-vc120-mt-1_54.lib libboost_filesystem-vc120-mt-1_54.lib libboost_system-vc120-mt-1_54.lib build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\common\math\Math.obj build\common\io\File.obj build\BasicSceneManager.obj build\BasicSceneNode.obj build\Camera.obj build\GlrProgram.obj build\GraphicsEngine.obj build\Light.obj build\Window.obj build\exceptions\Exception.obj build\exceptions\FormatException.obj build\exceptions\GlException.obj build\exceptions\IoException.obj build\gui\CallbackParameter.obj build\gui\GUI.obj build\gui\GUIObject.obj build\gui\HtmlGuiComponent.obj build\models\Animation.obj build\models\AssImpLoader.obj build\models\Model.obj build\models\ModelLoader.obj build\models\ModelManager.obj build\glw\Animation.obj build\glw\AnimationManager.obj build\glw\Constants.obj build\glw\Material.obj build\glw\MaterialManager.obj build\glw\Mesh.obj build\glw\MeshManager.obj build\glw\OpenGlDevice.obj build\glw\Texture.obj build\glw\TextureManager.obj build\glw\shaders\CPreProcessor.obj build\glw\shaders\GlrParser.obj build\glw\shaders\GlrPreProcessor.obj build\glw\shaders\GlrShader.obj build\glw\shaders\GlrShaderProgram.obj build\glw\shaders\GlslShader.obj build\glw\shaders\GlslShaderProgram.obj build\glw\shaders\ShaderProgramManager.obj// //build\BasicSceneManager.obj : warning LNK4042: object specified more than once; extras ignored// //build\BasicSceneNode.obj : warning LNK4042: object specified more than once; extras ignored// //build\Camera.obj : warning LNK4042: object specified more than once; extras ignored// //build\GlrProgram.obj : warning LNK4042: object specified more than once; extras ignored// //build\GraphicsEngine.obj : warning LNK4042: object specified more than once; extras ignored// //build\Light.obj : warning LNK4042: object specified more than once; extras ignored// //build\Window.obj : warning LNK4042: object specified more than once; extras ignored// //LINK : fatal error LNK1104: cannot open file 'libboost_log-vc110-mt-1_54.lib'// //scons: building terminated because of errors.// //scons: *** [build/glr.dll] Error 1104/
I'm curious why it's trying to link to `libboost_log-vc110-mt-1_54.lib` instead of `libboost_log-vc120-mt-1_54.lib`, which is what I specified in the link command. Also, as far as I can tell, `vcxxx` is the compiler tag boost uses to tell what version of the compiler built the boost library...so it's almost like `scons` thinks boost was built using Visual Studio 2012, which would be `vc110`...I'm not sure.
Any help is appreciated!
Cheers
Jarrett
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Jarrett,
VS2013 isn't supported in SCons yet, so the default behaviour for the various versions of VS stops at 2012 (VC11). See the last week of the SCons mailing list for details, VS2013 has caused some unusual behavior depending on how your system paths are set up. On your compile step, are you absolutely sure you were using VS2013?
What did you build boost itself with? VS2013 or VS2012? (and are you sure of what you used?) This is all highly likely to be a SCons issue, not a Boost issue, and you should probably post your question to the SCons list. When I setup a build with SCons, I override the compiler/lib/linker commands in SCons to get around problems like this.
Damien
Damien
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users Hey Damien
Thanks for replying! I'm sure it's VS2013 - I removed all the other build systems. Also, the project didn't compile with previous versions (due to c++11 features). I built boost with VS2013 as well. Thanks for the suggestion - I just emailed the above question to the scons-users list. Also, how did you override the compiler/lib/linker commands in SCons? Would you mind enlightening me? :) Cheers Jarrett

Snipped.... On 24/09/2013 11:52 AM, Jarrett Chisholm wrote:
Hey Damien
Thanks for replying!
I'm sure it's VS2013 - I removed all the other build systems. Also, the project didn't compile with previous versions (due to c++11 features).
I built boost with VS2013 as well.
Thanks for the suggestion - I just emailed the above question to the scons-users list.
Also, how did you override the compiler/lib/linker commands in SCons? Would you mind enlightening me? :)
Cheers
Jarrett
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Will do that off-list, it's not related to Boost. Damien

On Tue, Sep 24, 2013 at 01:03:50PM -0400, Jarrett Chisholm wrote:
Hi all
I'm trying to compile my project as a shared library using scons. I'm using Windows 7, and the Visual Studio 2013 RC. In the project, I'm using boost.
The project compiles fine. However, when it tries to link, I get the following: //LINK : fatal error LNK1104: cannot open file 'libboost_log-vc110-mt-1_54.lib'//
I'm curious why it's trying to link to `libboost_log-vc110-mt-1_54.lib` instead of `libboost_log-vc120-mt-1_54.lib`, which is what I specified in the link command. Also, as far as I can tell, `vcxxx` is the compiler tag boost uses to tell what version of the compiler built the boost library...so it's almost like `scons` thinks boost was built using Visual Studio 2012, which would be `vc110`...I'm not sure.
With MSVC, Boost.Config offers "autolink" functionality, which determines the toolset name from the perceived compiler version and emits #pragma comment(lib,"libboost-blargh.lib") pragmas to make the linker automagically link the right library. The problem lies in that 1.54 doesn't really have any awareness of 2013Preview/RC/RTM at all, which means that it'll assume that anything over 1700 is "vc110". There are several solutions to this problem: (a) define BOOST_LIB_TOOLSET to "vc120" (b) apply the patch from [1] to teach Boost.Config about the compiler (c) define BOOST_ALL_NO_LIB to inhibit autolinking In general, there's a lot of fun little hacks that you need to apply to 1.54 and trunk in order to get Boost working much at all with 2013. Some of them are in [2], and a few of them are applied to trunk Boost.Build and Boost. [1] https://svn.boost.org/trac/boost/attachment/ticket/8753/0001-Boost.Config-ad... [2] http://lists.boost.org/Archives/boost/2013/07/204953.php -- Lars Viklund | zao@acc.umu.se

Thanks Lars Yeah, eventually I checked out boost trunk (1.55), compiled, and it all linked properly in my application. I think I'll just use 1.55 in my windows version of my app :) Cheers Jarrett On 25/09/13 02:12 AM, Lars Viklund wrote:
Hi all
I'm trying to compile my project as a shared library using scons. I'm using Windows 7, and the Visual Studio 2013 RC. In the project, I'm using boost.
The project compiles fine. However, when it tries to link, I get the following: //LINK : fatal error LNK1104: cannot open file 'libboost_log-vc110-mt-1_54.lib'//
I'm curious why it's trying to link to `libboost_log-vc110-mt-1_54.lib` instead of `libboost_log-vc120-mt-1_54.lib`, which is what I specified in the link command. Also, as far as I can tell, `vcxxx` is the compiler tag boost uses to tell what version of the compiler built the boost library...so it's almost like `scons` thinks boost was built using Visual Studio 2012, which would be `vc110`...I'm not sure. With MSVC, Boost.Config offers "autolink" functionality, which determines the toolset name from the perceived compiler version and emits #pragma comment(lib,"libboost-blargh.lib") pragmas to make the
On Tue, Sep 24, 2013 at 01:03:50PM -0400, Jarrett Chisholm wrote: linker automagically link the right library.
The problem lies in that 1.54 doesn't really have any awareness of 2013Preview/RC/RTM at all, which means that it'll assume that anything over 1700 is "vc110".
There are several solutions to this problem: (a) define BOOST_LIB_TOOLSET to "vc120" (b) apply the patch from [1] to teach Boost.Config about the compiler (c) define BOOST_ALL_NO_LIB to inhibit autolinking
In general, there's a lot of fun little hacks that you need to apply to 1.54 and trunk in order to get Boost working much at all with 2013. Some of them are in [2], and a few of them are applied to trunk Boost.Build and Boost.
[1] https://svn.boost.org/trac/boost/attachment/ticket/8753/0001-Boost.Config-ad... [2] http://lists.boost.org/Archives/boost/2013/07/204953.php
participants (4)
-
Damien
-
Damien Hocking
-
Jarrett Chisholm
-
Lars Viklund