STARTcraft
STARTcraft copied to clipboard
Error: 'BWAPILib.lib' was creeeated
I'm getting the following error on Microsoft Visual Studio 16.10.3
The object or library file '..\bwapi\lib\Release\BWAPILIB.lib' was created by a different version of the compiler than other objects like
'C:\Users\Me\AI-Bots\Brood-War\STARTcraft\windows\c++\visualstudio\\Release\StarterBot\main.obj';
rebuild all objects and libraries with the same compiler
Is there anything I can do or should I just wait for an update to the .lib files?
Thanks for the great starter project btw!
BWAPI 4.4 recommends including BWAPILIB as a dependency in your project to resolve these kinds of compiler issues: https://github.com/bwapi/bwapi/releases/tag/v4.4.0
Upgrade your Visual Studio to the newest version and see if it's working then. Mine is 16.11.9
The LIBS that I have included are compiled with the newest version of VS
@bmnielson While correct, one of the whole points of STARTcraft was to not need to do that. Should be fixed with a version update
@davechurchill That's fair enough, though I don't think that shipping the BWAPILIB source with STARTcraft instead of precompiled binaries would change its complexity or ease-of-use, since you are already shipping a solution file that it could be added to. I do respect that it would take some effort on your part to change, however.
For context, BWAPI moved away from precompiling BWAPILIB as it kept getting broken by minor releases of VS (despite the build tools version staying the same), so it became somewhat of a maintenance headache.
There is also at least some demand for using STARTcraft with other compilers, as someone was asking in Discord today about compiling STARTcraft on Linux using winegcc (which is how I stumbled across this issue). VS 2022 has also been out for a while, so new Windows users might want to use it instead of 2019.
Shipping STARTcraft with the source instead of the lib would accomplish the same task for sure, but is something I want to avoid for the time being if possible. If anyone out there makes it work with both windows and Linux using the source instead of the lib then they can PR it and I'll gladly switch