Quantcast
Channel: GameDev.net
Viewing all articles
Browse latest Browse all 17825

Compiling Multiple .libs error

$
0
0
I have a library that is split up into 3 parts right now: a utilities lib, platform lib, and a renderer. I want them all the be their own separate .dll and .lib files. My issue is that I cannot seem to get VS to output all the files. My batch file looks like this: @echo off cls set sable_dir=W:\dev\c\sable_lib set src_dir=%sable_dir%\src set deps_dir=%sable_dir%\deps set macros=/DSABLE_LIB_EXPORT set compiler_flags=/LDd /Zi set linker_flags=/DLL /DEBUG set sable_lib_libs= set sable_lib_source_files=%src_dir%\sable_lib\sable_lib.c set sable_lib_output=sable_lib.dll set sable_platform_libs=sable_lib.lib %deps_dir%\sdl2\lib\x64\SDL2main.lib %deps_dir%\sdl2\lib\x64\SDL2.lib set sable_platform_source_files=%src_dir%\sable_lib\sable_platform.c set sable_platform_output=sable_platform.dll set sable_renderer_libs=sable_lib.lib sable_platform.lib %deps_dir%\sdl2\lib\x64\SDL2main.lib %deps_dir%\sdl2\lib\x64\SDL2.lib %deps_dir%\sdl2\lib\x64\SDL2_image.lib set sable_renderer_source_files=%src_dir%\sable_lib\sable_renderer.c %src_dir%\sable_lib\sera\sera.c set sable_renderer_output=sable_renderer.dll pushd W:\dev\c\sable_lib\bin call "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/vcvarsall.bat" x64 echo. echo BUILDING SABLE_LIB echo. cl %compiler_flags% /Fe%sable_lib_output% %macros% %sable_lib_source_files% %sable_lib_libs% /link %linker_flags% echo. echo BUILDING SABLE_PLATFORM echo. cl %compiler_flags% /Fe%sable_platform_output% %macros% %sable_platform_source_files% %sable_platform_libs% /link %linker_flags% echo. echo BUILDING SABLE_RENDERER echo. cl %compiler_flags% /Fe%sable_renderer_output% %macros% %sable_renderer_source_files% %sable_renderer_libs% /link %linker_flags% popd When the first CL runs it outputs the sable_lib.lib file then sable_lib.dll, which is what I want. Then when cl runs again it outputs sable_platform.dll and sable_lib.lib not sable_platform.lib. Why is this? sable_renderer will not compile without sable_platform.lib. I'm compiling it using sublime text 3's build systems to run the batch file. This is the output: BUILDING SABLE_LIB Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64 Copyright (C) Microsoft Corporation. All rights reserved. sable_lib.c Microsoft (R) Incremental Linker Version 12.00.31101.0 Copyright (C) Microsoft Corporation. All rights reserved. /dll /implib:sable_lib.lib /debug /out:sable_lib.dll /DLL /DEBUG sable_lib.obj Creating library sable_lib.lib and object sable_lib.exp BUILDING SABLE_PLATFORM Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64 Copyright (C) Microsoft Corporation. All rights reserved. sable_platform.c Microsoft (R) Incremental Linker Version 12.00.31101.0 Copyright (C) Microsoft Corporation. All rights reserved. /dll /implib:sable_platform.lib /debug /out:sable_platform.dll /DLL /DEBUG sable_platform.obj sable_lib.lib W:\dev\c\sable_lib\deps\sdl2\lib\x64\SDL2main.lib W:\dev\c\sable_lib\deps\sdl2\lib\x64\SDL2.lib BUILDING SABLE_RENDERER Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64 Copyright (C) Microsoft Corporation. All rights reserved. sable_renderer.c sera.c Generating Code... Microsoft (R) Incremental Linker Version 12.00.31101.0 Copyright (C) Microsoft Corporation. All rights reserved. /dll /implib:sable_renderer.lib /debug /out:sable_renderer.dll /DLL /DEBUG sable_renderer.obj sera.obj sable_lib.lib sable_platform.lib W:\dev\c\sable_lib\deps\sdl2\lib\x64\SDL2main.lib W:\dev\c\sable_lib\deps\sdl2\lib\x64\SDL2.lib W:\dev\c\sable_lib\deps\sdl2\lib\x64\SDL2_image.lib LINK : fatal error LNK1104: cannot open file 'sable_platform.lib' [Finished in 2.1s]

Viewing all articles
Browse latest Browse all 17825

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>