[Scons-users] linking to boost 1.54 w/ windows and visual studio 2013 RC

Philipp Kraus philipp.kraus at tu-clausthal.de
Tue Sep 24 14:35:20 EDT 2013


This seems to be not a SCons problem, see http://www.boost.org/doc/libs/1_54_0/more/getting_started/unix-variants.html#library-naming
It is recommend that all parts are build with equal compilers & linkers.
The Boost libs are defined by the Boost build configuration and the detection of the depend libraries are stored into the configuration

Phil


Am 24.09.2013 um 19:49 schrieb Jarrett Chisholm <j.chisholm at chisholmsoft.com>:


> 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

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130924/c236b45e/attachment.html


More information about the Scons-users mailing list