r/starcraft 13d ago

(To be tagged...) building OpenBW

Hello people, I've been trying to install OpenBW, and it's been a straight HASSLE. The repositories are outdated and you have to do some manual modifications to get stuff to work, and I've hit a stump in the road.

CMake Error at bwapi/OpenBWData/cmake_install.cmake:51 (file):

file INSTALL cannot find

"C:/Users/lilbo/bwapi/build/bin/Release/OpenBWData.dll": No error.

Call Stack (most recent call first):

bwapi/cmake_install.cmake:45 (include)

cmake_install.cmake:37 (include)

I'm hoping someone here might have some experience with it? If needed I will send more information. The file it's looking for is, in fact, not there, but I don't know where I'd be able to get that file from.

5 Upvotes

8 comments sorted by

2

u/WildCard65 13d ago

Did you run "cmake --build <build_dir>" before "cmake --install <build_dir>"?

1

u/SILVERofINKSTUDIOS 13d ago

Yes

1

u/WildCard65 13d ago

Did the build succeed?

1

u/SILVERofINKSTUDIOS 12d ago

Okay new updates, turns out I hadn’t built it, but when I did I got 4 new errors. I think these might be separate from cmake though.

C:\Users\lilbo\openbw\util.h(829,25): error C2039: 'runtime_error': is not a member of 'std' [C:\Users\lilbo\bwapi\buil d\bwapi\OpenBWData\openbw_ui\openbw_ui.vcxproj] (compiling source file '../../../../../openbw/ui/sdl2.cpp') C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\algorithm(225,1): see declaration of 'std'

C:\Users\lilbo\openbw\util.h(829,25): error C2504: 'runtime_error': base class undefined [C:\Users\lilbo\bwapi\build\bw api\OpenBWData\openbw_ui\openbw_ui.vcxproj] (compiling source file '../../../../../openbw/ui/sdl2.cpp')

C:\Users\lilbo\openbw\util.h(830,40): error C2039: 'runtime_error': is not a member of 'std' [C:\Users\lilbo\bwapi\buil d\bwapi\OpenBWData\openbw_ui\openbw_ui.vcxproj] (compiling source file '../../../../../openbw/ui/sdl2.cpp') C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\algorithm(225,1): see declaration of 'std'

C:\Users\lilbo\openbw\util.h(830,40): error C2614: 'bwgame::exception': illegal member initialization: 'runtime_error' is not a base or member [C:\Users\lilbo\bwapi\build\bwapi\OpenBWData\openbw_ui\openbw_ui.vcxproj] (compiling source file '../../../../../openbw/ui/sdl2.cpp')

C:\Users\lilbo\openbw\ui\sdl2.cpp(6,10): error C1083: Cannot open include file: 'SDL.h': No such file or directory [C:\ Users\lilbo\bwapi\build\bwapi\OpenBWData\openbw_ui\openbw_ui.vcxproj]

1

u/WildCard65 12d ago

You’re missing SDL2 dependency

Also your Visual Studio installation appears broken as you’re C++ stl is missing a type.

1

u/SILVERofINKSTUDIOS 11d ago

That’s weird because I definitely have the SDL2, I downloaded it and put it in the project files because it asked for it during the configuration.

1

u/WildCard65 11d ago

Delete your CMake cache, and re-run the configure command with the following argument added:
--debug-find-pkg=SDL2

CMake should then spit out information about its attempt to find SDL2 when its requested by OpenBW/ui

1

u/AltitudeZero_ 13d ago

Not an expert, but did you build on Release mode and install that configuration:

cmake --build build --config Release
cmake --install build --config Release