[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