yquake2 / yquake2

The Yamagi Quake II client
https://www.yamagi.org/quake2/
Other
839 stars 213 forks source link

Compilation issue (Windows on ARM64) #1129

Closed ArminiusTux closed 1 month ago

ArminiusTux commented 1 month ago

Greetings,

following your recent 8.40 release I tried to compile the new version with MSYS2 (Cmake+Clang+Ninja) on WinARM64:

failure on v8.40 ``` $ git clone -b 'QUAKE2_8_40' https://github.com/yquake2/yquake2 Cloning into 'yquake2'... remote: Enumerating objects: 29195, done. remote: Counting objects: 100% (1729/1729), done. remote: Compressing objects: 100% (704/704), done. remote: Total 29195 (delta 1162), reused 1427 (delta 1017), pack-reused 27466 Receiving objects: 100% (29195/29195), 25.85 MiB | 19.35 MiB/s, done. Resolving deltas: 100% (20265/20265), done. Note: switching to '4e41dbf186d6d125b35ea338ec7472313071f0d5'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false $ cmake .. -DCMAKE_BUILD_TYPE=Release -- Building for: Ninja CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. NOTICE: The CMakeLists.txt is unmaintained. Use the Makefile if possible. -- The C compiler identification is Clang 18.1.8 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/msys64/clangarm64/bin/cc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Setting YQ2OSTYPE to "Windows" and YQ2ARCH to "arm64". -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found SDL2: mingw32;-mwindows;D:/msys64/clangarm64/lib/libSDL2main.a;D:/msys64/clangarm64/lib/libSDL2.dll.a;-lpthread -- Found OpenGL: opengl32 -- Looking for backtrace -- Looking for backtrace - not found -- Looking for backtrace in execinfo -- Looking for backtrace in execinfo - not found -- Found CURL: D:/msys64/clangarm64/lib/cmake/CURL/CURLConfig.cmake (found version "8.9.0") -- Found OpenAL: D:/msys64/clangarm64/lib/libopenal.dll.a -- Configuring done (3.8s) -- Generating done (0.2s) -- Build files have been written to: C:/CODING/yquake2/build $ ninja [246/259] Linking C executable release\q2ded.exe FAILED: release/q2ded.exe C:\WINDOWS\system32\cmd.exe /C "cd . && D:\msys64\clangarm64\bin\cc.exe -Wall -fno-strict-aliasing -fwrapv -fvisibility=hidden -Wno-missing-braces -O2 -DNDEBUG CMakeFiles/q2ded.dir/src/common/argproc.c.obj CMakeFiles/q2ded.dir/src/common/clientserver.c.obj CMakeFiles/q2ded.dir/src/common/collision.c.obj CMakeFiles/q2ded.dir/src/common/crc.c.obj CMakeFiles/q2ded.dir/src/common/cmdparser.c.obj CMakeFiles/q2ded.dir/src/common/cvar.c.obj CMakeFiles/q2ded.dir/src/common/filesystem.c.obj CMakeFiles/q2ded.dir/src/common/glob.c.obj CMakeFiles/q2ded.dir/src/common/md4.c.obj CMakeFiles/q2ded.dir/src/common/frame.c.obj CMakeFiles/q2ded.dir/src/common/movemsg.c.obj CMakeFiles/q2ded.dir/src/common/netchan.c.obj CMakeFiles/q2ded.dir/src/common/pmove.c.obj CMakeFiles/q2ded.dir/src/common/szone.c.obj CMakeFiles/q2ded.dir/src/common/zone.c.obj CMakeFiles/q2ded.dir/src/common/shared/rand.c.obj CMakeFiles/q2ded.dir/src/common/shared/shared.c.obj CMakeFiles/q2ded.dir/src/common/unzip/ioapi.c.obj CMakeFiles/q2ded.dir/src/common/unzip/unzip.c.obj CMakeFiles/q2ded.dir/src/common/unzip/miniz/miniz.c.obj CMakeFiles/q2ded.dir/src/common/unzip/miniz/miniz_tdef.c.obj CMakeFiles/q2ded.dir/src/common/unzip/miniz/miniz_tinfl.c.obj CMakeFiles/q2ded.dir/src/server/sv_cmd.c.obj CMakeFiles/q2ded.dir/src/server/sv_conless.c.obj CMakeFiles/q2ded.dir/src/server/sv_entities.c.obj CMakeFiles/q2ded.dir/src/server/sv_game.c.obj CMakeFiles/q2ded.dir/src/server/sv_init.c.obj CMakeFiles/q2ded.dir/src/server/sv_main.c.obj CMakeFiles/q2ded.dir/src/server/sv_save.c.obj CMakeFiles/q2ded.dir/src/server/sv_send.c.obj CMakeFiles/q2ded.dir/src/server/sv_user.c.obj CMakeFiles/q2ded.dir/src/server/sv_world.c.obj CMakeFiles/q2ded.dir/src/backends/windows/icon.rc.obj CMakeFiles/q2ded.dir/src/backends/windows/main.c.obj CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj CMakeFiles/q2ded.dir/src/backends/windows/shared/hunk.c.obj CMakeFiles/q2ded.dir/src/backends/generic/misc.c.obj -o release\q2ded.exe -Wl,--out-implib,libq2ded.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -lm -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ." ld.lld: error: undefined symbol: __declspec(dllimport) getaddrinfo >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NetadrToSockadr) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NetadrToSockadr) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_StringToSockaddr) >>> referenced 7 more times ld.lld: error: undefined symbol: gai_strerrorA >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NetadrToSockadr) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_StringToSockaddr) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_SendPacket) >>> referenced 2 more times ld.lld: error: undefined symbol: __declspec(dllimport) getnameinfo >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_BaseAdrToString) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_BaseAdrToString) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_SendPacket) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) ntohs >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_BaseAdrToString) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_BaseAdrToString) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_AdrToString) >>> referenced 7 more times ld.lld: error: undefined symbol: __declspec(dllimport) recvfrom >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_GetPacket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_GetPacket) ld.lld: error: undefined symbol: __declspec(dllimport) WSAGetLastError >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_GetPacket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_GetPacket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_GetPacket) >>> referenced 9 more times ld.lld: error: undefined symbol: __declspec(dllimport) sendto >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_SendPacket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_SendPacket) ld.lld: error: undefined symbol: __declspec(dllimport) socket >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) ioctlsocket >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) setsockopt >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) bind >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) closesocket >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced 3 more times ld.lld: error: undefined symbol: __declspec(dllimport) freeaddrinfo >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPSocket) >>> referenced 3 more times ld.lld: error: undefined symbol: __declspec(dllimport) htons >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_IPXSocket) ld.lld: error: undefined symbol: __declspec(dllimport) select >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Sleep) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Sleep) ld.lld: error: undefined symbol: __declspec(dllimport) WSAStartup >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Init) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Init) ld.lld: error: undefined symbol: __declspec(dllimport) WSACleanup >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Shutdown) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/network.c.obj:(NET_Shutdown) ld.lld: error: undefined symbol: __declspec(dllimport) timeEndPeriod >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj:(Sys_Quit) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj:(Sys_Quit) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj:(Sys_Quit) >>> referenced 1 more times ld.lld: error: undefined symbol: __declspec(dllimport) timeBeginPeriod >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj:(Sys_Init) >>> referenced by CMakeFiles/q2ded.dir/src/backends/windows/system.c.obj:(Sys_Init) cc: error: linker command failed with exit code 1 (use -v to see invocation) [255/259] Building C object CMakeFiles/ref_soft.dir/src/client/refresh/files/stb.c.obj ninja: build stopped: subcommand failed. ```

Back in March the situation was fine though:

success on v8.30+ ``` $ git clone https://github.com/yquake2/yquake2 Cloning into 'yquake2'... remote: Enumerating objects: 28545, done. remote: Counting objects: 100% (1079/1079), done. remote: Compressing objects: 100% (439/439), done. remote: Total 28545 (delta 681), reused 943 (delta 635), pack-reused 27466 Receiving objects: 100% (28545/28545), 25.60 MiB | 13.57 MiB/s, done. Resolving deltas: 100% (19784/19784), done. $ cmake .. -DCMAKE_BUILD_TYPE=Release -- Building for: Ninja CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. NOTICE: The CMakeLists.txt is unmaintained. Use the Makefile if possible. -- The C compiler identification is Clang 18.1.2 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/msys64/clangarm64/bin/cc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Setting YQ2OSTYPE to "Windows" and YQ2ARCH to "arm64". -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found SDL2: mingw32;-mwindows;D:/msys64/clangarm64/lib/libSDL2main.a;D:/msys64/clangarm64/lib/libSDL2.dll.a;-lpthread -- Found OpenGL: opengl32 -- Looking for backtrace -- Looking for backtrace - not found -- Looking for backtrace in execinfo -- Looking for backtrace in execinfo - not found -- Found CURL: D:/msys64/clangarm64/lib/libcurl.dll.a (found version "8.7.1") -- Found OpenAL: D:/msys64/clangarm64/lib/libopenal.dll.a -- Configuring done (7.1s) -- Generating done (0.1s) -- Build files have been written to: C:/CODING/yquake2/build $ ninja [17/258] Building C object CMakeFiles/yquake2.dir/src/client/cl_screen.c.obj C:/CODING/yquake2/src/client/cl_screen.c:1463:16: warning: passing arguments to 'GetPlayerSpeed' without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype] 1463 | GetPlayerSpeed(&speed, &speedxy); | ^ 1 warning generated. [258/258] Linking C shared module release\ref_soft.dll ```

Hoping for a quick (and easy) fix - bye.

DanielGibson commented 1 month ago

I think those functions should be in some WinSock lib. No idea why it's not linked against, https://github.com/yquake2/yquake2/blob/4b3545697ede842532dcace806859443db1b374b/CMakeLists.txt#L712C55-L712C61 explicitly lists ws2_32, which should be the correct library according to https://learn.microsoft.com/en-us/windows/win32/winsock/creating-a-basic-winsock-application

ArminiusTux commented 1 month ago

Hello @DanielGibson ,

thank you for the fast reply.

I checked the situation with Visual Studio:

and got partial results ``` CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. NOTICE: The CMakeLists.txt is unmaintained. Use the Makefile if possible. Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631. The C compiler identification is MSVC 19.40.33813.0 Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostarm64/arm64/cl.exe - skipped Detecting C compile features Detecting C compile features - done Setting YQ2OSTYPE to "Windows" - NOT setting YQ2ARCH, because we're targeting MSVC (VisualC++) Performing Test CMAKE_HAVE_LIBC_PTHREAD Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed Looking for pthread_create in pthreads Looking for pthread_create in pthreads - not found Looking for pthread_create in pthread Looking for pthread_create in pthread - not found Found Threads: TRUE Found SDL2: D:/vcpkg/installed/arm64-windows/lib/manual-link/SDL2main.lib;D:/vcpkg/installed/arm64-windows/lib/SDL2.lib Found OpenGL: opengl32 Looking for backtrace Looking for backtrace - not found Looking for backtrace in execinfo Looking for backtrace in execinfo - not found Found ZLIB: optimized;D:/vcpkg/installed/arm64-windows/lib/zlib.lib;debug;D:/vcpkg/installed/arm64-windows/debug/lib/zlibd.lib (found suitable version "1.3.1", minimum required is "1") Found OpenAL: D:/vcpkg/installed/arm64-windows/debug/lib/OpenAL32.lib Configuring done (24.6s) Generating done (0.2s) Build started at 22:41... 1>------ Build started: Project: ZERO_CHECK, Configuration: Release ARM64 ------ 1>1>Checking Build System 2>------ Build started: Project: ref_soft, Configuration: Release ARM64 ------ 3>------ Build started: Project: ref_gles3, Configuration: Release ARM64 ------ 4>------ Build started: Project: ref_gl3, Configuration: Release ARM64 ------ 5>------ Build started: Project: ref_gl1, Configuration: Release ARM64 ------ 6>------ Build started: Project: quake2, Configuration: Release ARM64 ------ 7>------ Build started: Project: q2ded, Configuration: Release ARM64 ------ 8>------ Build started: Project: game, Configuration: Release ARM64 ------ 9>------ Build started: Project: yquake2, Configuration: Release ARM64 ------ 2>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 2>sw_aclip.c 2>sw_alias.c 2>sw_bsp.c 2>sw_draw.c 2>sw_edge.c 2>sw_image.c 2>sw_light.c 2>sw_main.c 2>sw_misc.c 2>sw_model.c 2>sw_part.c 2>sw_poly.c 2>sw_polyset.c 2>sw_rast.c 2>sw_scan.c 2>sw_sprite.c 2>sw_surf.c 2>models.c 2>pcx.c 2>stb.c 2>surf.c 2>wal.c 2>Z:\CODE\yquake2\src\client\refresh\soft\sw_image.c(518,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\client\refresh\soft\sw_main.c(2184,48): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\client\refresh\soft\sw_surf.c(104,15): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 2>pvs.c 2>shared.c 2>md4.c 2>hunk.c 2>Z:\CODE\yquake2\src\client\refresh\files\stb.c(56,32): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\client\refresh\files\stb.c(61,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\client\refresh\files\stb.c(62,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\client\refresh\files\stb.c(158,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 2>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 3>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 2>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 5>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 6>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 4>gl3_draw.c 3>gl3_draw.c 4>gl3_image.c 3>gl3_image.c 4>gl3_light.c 4>gl3_lightmap.c 3>gl3_light.c 4>gl3_main.c 4>gl3_mesh.c 3>gl3_lightmap.c 3>gl3_main.c 3>gl3_mesh.c 4>gl3_misc.c 3>gl3_misc.c 3>gl3_model.c 4>gl3_model.c 3>gl3_sdl.c 4>gl3_sdl.c 3>gl3_surf.c 3>gl3_warp.c 4>gl3_surf.c 3>gl3_shaders.c 4>gl3_warp.c 4>gl3_shaders.c 4>models.c 3>models.c 3>pcx.c 3>stb.c 4>pcx.c 4>stb.c 4>surf.c 3>surf.c 4>wal.c 3>wal.c 7>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 4>pvs.c 4>shared.c 3>pvs.c 3>shared.c 4>md4.c 3>md4.c 3>glad.c 3>hunk.c 4>glad.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_image.c(625,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(325,31): warning C4267: 'function': conversion from 'size_t' to 'GLsizei', possible loss of data 4>hunk.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(207,25): warning C4267: 'initializing': conversion from 'size_t' to 'GLushort', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(486,31): warning C4267: 'function': conversion from 'size_t' to 'GLsizei', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(399,25): warning C4267: 'initializing': conversion from 'size_t' to 'GLushort', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\files\stb.c(56,32): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_image.c(625,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\files\stb.c(61,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(325,31): warning C4267: 'function': conversion from 'size_t' to 'GLsizei', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\files\stb.c(62,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(207,25): warning C4267: 'initializing': conversion from 'size_t' to 'GLushort', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\files\stb.c(158,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(388,33): error C2061: syntax error: identifier 'glad_glDebugMessageControlKHR' 4>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(486,31): warning C4267: 'function': conversion from 'size_t' to 'GLsizei', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\gl3\gl3_mesh.c(399,25): warning C4267: 'initializing': conversion from 'size_t' to 'GLushort', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(388,33): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(388,63): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(389,32): error C2061: syntax error: identifier 'glad_glDebugMessageInsertKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(389,32): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\files\stb.c(56,32): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\files\stb.c(61,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\files\stb.c(62,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 4>Z:\CODE\yquake2\src\client\refresh\files\stb.c(158,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(389,61): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(390,34): error C2061: syntax error: identifier 'glad_glDebugMessageCallbackKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(390,34): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(390,65): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(391,32): error C2061: syntax error: identifier 'glad_glGetDebugMessageLogKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(391,32): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(456,33): error C2061: syntax error: identifier 'glad_glDebugMessageControlARB' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(456,33): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(456,63): error C2513: ' ': no variable declared before '=' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(457,32): error C2061: syntax error: identifier 'glad_glDebugMessageInsertARB' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(457,32): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(391,61): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(392,28): error C2061: syntax error: identifier 'glad_glPushDebugGroupKHR' 5>qgl.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(392,28): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(392,53): error C2513: ' ': no variable declared before '=' 5>gl1_draw.c 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(457,61): error C2513: ' ': no variable declared before '=' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(458,34): error C2061: syntax error: identifier 'glad_glDebugMessageCallbackARB' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(458,34): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(458,65): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(393,27): error C2061: syntax error: identifier 'glad_glPopDebugGroupKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(393,27): error C2059: syntax error: ';' 5>gl1_image.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(393,51): error C2513: ' ': no variable declared before '=' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(459,32): error C2061: syntax error: identifier 'glad_glGetDebugMessageLogARB' 5>gl1_light.c 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(459,32): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(459,61): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(394,25): error C2061: syntax error: identifier 'glad_glObjectLabelKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(394,25): error C2059: syntax error: ';' 5>gl1_lightmap.c 5>gl1_main.c 5>gl1_mesh.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(394,47): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(395,28): error C2061: syntax error: identifier 'glad_glGetObjectLabelKHR' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(814,2): error C2065: 'glad_glDebugMessageControlARB': undeclared identifier 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(814,35): error C2065: 'PFNGLDEBUGMESSAGECONTROLARBPROC': undeclared identifier 5>gl1_misc.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(395,28): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(814,67): error C2146: syntax error: missing ';' before identifier 'load' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(815,2): error C2065: 'glad_glDebugMessageInsertARB': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(395,53): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(396,28): error C2061: syntax error: identifier 'glad_glObjectPtrLabelKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(396,28): error C2059: syntax error: ';' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(815,34): error C2065: 'PFNGLDEBUGMESSAGEINSERTARBPROC': undeclared identifier 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(815,65): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(396,53): error C2513: ' ': no variable declared before '=' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(816,2): error C2065: 'glad_glDebugMessageCallbackARB': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(397,31): error C2061: syntax error: identifier 'glad_glGetObjectPtrLabelKHR' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(816,36): error C2065: 'PFNGLDEBUGMESSAGECALLBACKARBPROC': undeclared identifier 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(816,69): error C2146: syntax error: missing ';' before identifier 'load' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(817,2): error C2065: 'glad_glGetDebugMessageLogARB': undeclared identifier 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(817,34): error C2065: 'PFNGLGETDEBUGMESSAGELOGARBPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(397,31): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(397,59): error C2513: ' ': no variable declared before '=' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(398,25): error C2061: syntax error: identifier 'glad_glGetPointervKHR' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(398,25): error C2059: syntax error: ';' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(398,47): error C2513: ' ': no variable declared before '=' 4>Z:\CODE\yquake2\src\client\refresh\gl3\glad\src\glad.c(817,65): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(664,2): error C2065: 'glad_glDebugMessageControlKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(664,35): error C2065: 'PFNGLDEBUGMESSAGECONTROLKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(664,67): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(665,2): error C2065: 'glad_glDebugMessageInsertKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(665,34): error C2065: 'PFNGLDEBUGMESSAGEINSERTKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(665,65): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(666,2): error C2065: 'glad_glDebugMessageCallbackKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(666,36): error C2065: 'PFNGLDEBUGMESSAGECALLBACKKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(666,69): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(667,2): error C2065: 'glad_glGetDebugMessageLogKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(667,34): error C2065: 'PFNGLGETDEBUGMESSAGELOGKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(667,65): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(668,2): error C2065: 'glad_glPushDebugGroupKHR': undeclared identifier 4>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(668,30): error C2065: 'PFNGLPUSHDEBUGGROUPKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(668,57): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(669,2): error C2065: 'glad_glPopDebugGroupKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(669,29): error C2065: 'PFNGLPOPDEBUGGROUPKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(669,55): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(670,2): error C2065: 'glad_glObjectLabelKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(670,27): error C2065: 'PFNGLOBJECTLABELKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(670,51): error C2146: syntax error: missing ';' before identifier 'load' 8>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(671,2): error C2065: 'glad_glGetObjectLabelKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(671,30): error C2065: 'PFNGLGETOBJECTLABELKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(671,57): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(672,2): error C2065: 'glad_glObjectPtrLabelKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(672,30): error C2065: 'PFNGLOBJECTPTRLABELKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(672,57): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(673,2): error C2065: 'glad_glGetObjectPtrLabelKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(673,33): error C2065: 'PFNGLGETOBJECTPTRLABELKHRPROC': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(673,63): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(674,2): error C2065: 'glad_glGetPointervKHR': undeclared identifier 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(674,27): error C2065: 'PFNGLGETPOINTERVKHRPROC': undeclared identifier 6>wrapper.c 3>Z:\CODE\yquake2\src\client\refresh\gl3\glad-gles3\src\glad.c(674,51): error C2146: syntax error: missing ';' before identifier 'load' 3>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 3>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 5>gl1_model.c 2> Creating library C:/CODING/BUILDS/Release/ref_soft.lib and object C:/CODING/BUILDS/Release/ref_soft.exp 5>gl1_scrap.c 5>gl1_surf.c 5>gl1_warp.c 5>gl1_sdl.c 5>gl1_buffer.c 5>models.c 5>pcx.c 5>Z:\CODE\yquake2\src\client\refresh\gl1\gl1_image.c(1123,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 5>stb.c 2>ref_soft.vcxproj -> Z:\CODE\BUILDS\release\Release\ref_soft.dll 5>surf.c 9>Building Custom Rule C:/CODING/yquake2/CMakeLists.txt 5>Z:\CODE\yquake2\src\client\refresh\files\stb.c(56,32): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 5>Z:\CODE\yquake2\src\client\refresh\files\stb.c(61,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 5>Z:\CODE\yquake2\src\client\refresh\files\stb.c(62,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 5>Z:\CODE\yquake2\src\client\refresh\files\stb.c(158,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 5>wal.c 3>Done building project "ref_gles3.vcxproj" -- FAILED. 5>pvs.c 5>shared.c 4>Done building project "ref_gl3.vcxproj" -- FAILED. 5>md4.c 5>hunk.c 5>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>argproc.c 7>clientserver.c 7>collision.c 7>crc.c 7>cmdparser.c 7>cvar.c 7>filesystem.c 7>glob.c 6>Z:\CODE\yquake2\src\win-wrapper\wrapper.c(59,49): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data 7>md4.c 7>frame.c 7>movemsg.c 7>netchan.c 7>pmove.c 7>szone.c 7>zone.c 7>rand.c 7>shared.c 7>ioapi.c 7>unzip.c 7>miniz.c 7>miniz_tdef.c 7>miniz_tinfl.c 7>sv_cmd.c 7>Z:\CODE\yquake2\src\common\collision.c(1624,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(90,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(98,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(313,28): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(540,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(578,7): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(670,25): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 5>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(695,52): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(792,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\cmdparser.c(917,9): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\frame.c(125,11): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\netchan.c(158,37): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\server\sv_cmd.c(425,10): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\server\sv_cmd.c(436,10): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>flash.c 8>rand.c 8>shared.c 7>sv_conless.c 7>sv_entities.c 7>sv_game.c 7>sv_init.c 8>g_ai.c 8>g_chase.c 7>Z:\CODE\yquake2\src\server\sv_init.c(539,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>sv_main.c 8>g_cmds.c 7>Z:\CODE\yquake2\src\common\filesystem.c(587,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>g_combat.c 8>g_func.c 7>Z:\CODE\yquake2\src\common\filesystem.c(653,9): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>sv_save.c 8>g_items.c 8>g_main.c 7>sv_send.c 8>g_misc.c 7>Z:\CODE\yquake2\src\common\filesystem.c(1079,14): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\common\filesystem.c(1411,22): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>sv_user.c 7>sv_world.c 8>g_monster.c 8>g_phys.c 7>main.c 8>g_spawn.c 8>g_svcmds.c 7>network.c 8>g_target.c 7>system.c 7>hunk.c 8>g_trigger.c 7>misc.c 8>g_turret.c 8>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\g_misc.c(2291,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\g_spawn.c(337,21): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\g_target.c(209,26): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 8>g_utils.c 8>g_weapon.c 6>quake2.vcxproj -> Z:\CODE\BUILDS\release\Release\quake2.exe 8>berserker.c 8>boss2.c 8>Z:\CODE\yquake2\src\game\g_utils.c(487,32): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 8>boss3.c 8>boss31.c 8>boss32.c 8>brain.c 8>chick.c 8>flipper.c 8>float.c 8>flyer.c 8>gladiator.c 8>gunner.c 8>hover.c 8>infantry.c 8>insane.c 8>medic.c 8>move.c 8>mutant.c 8>parasite.c 8>soldier.c 8>supertank.c 9>cl_cin.c 8>tank.c 9>cl_console.c 8>client.c 9>cl_download.c 9>cl_effects.c 8>hud.c 9>cl_entities.c 9>cl_input.c 9>cl_inventory.c 8>trail.c 9>cl_keyboard.c 8>Z:\CODE\yquake2\src\game\player\hud.c(271,17): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\network.c(882,38): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\player\hud.c(310,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\player\hud.c(326,7): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 8>view.c 8>weapon.c 8>savegame.c 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(399,31): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(462,32): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(482,34): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(513,31): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(529,32): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\system.c(258,45): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 8>Z:\CODE\yquake2\src\game\savegame\savegame.c(544,34): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 5> Creating library C:/CODING/BUILDS/Release/ref_gl1.lib and object C:/CODING/BUILDS/Release/ref_gl1.exp 7>Z:\CODE\yquake2\src\backends\windows\system.c(261,30): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\system.c(265,37): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\system.c(631,55): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 7>Z:\CODE\yquake2\src\backends\windows\system.c(709,56): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>cl_lights.c 9>cl_main.c 9>cl_network.c 9>cl_parse.c 9>cl_particles.c 5>ref_gl1.vcxproj -> Z:\CODE\BUILDS\release\Release\ref_gl1.dll 9>cl_prediction.c 9>cl_screen.c 9>cl_tempentities.c 8> Creating library C:/CODING/BUILDS/Release/game.lib and object C:/CODING/BUILDS/Release/game.exp 9>cl_view.c 9>download.c 9>qcurl.c 9>menu.c 9>qmenu.c 8>game.vcxproj -> Z:\CODE\BUILDS\release\Release\baseq2\game.dll 9>Z:\CODE\yquake2\src\client\cl_console.c(642,11): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>videomenu.c 9>Z:\CODE\yquake2\src\client\cl_console.c(719,24): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_console.c(735,7): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(286,29): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(337,17): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(339,29): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(555,12): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(791,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_keyboard.c(1004,41): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_cin.c(676,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_network.c(278,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_network.c(335,33): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_network.c(336,33): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_network.c(337,33): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_network.c(410,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\cl_parse.c(1081,11): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>ogg.c 9>openal.c 9>Z:\CODE\yquake2\src\client\menu\menu.c(1049,26): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(1202,26): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(1368,20): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(1534,20): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(2507,49): warning C4113: 'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void *)' 9>qal.c 9>Z:\CODE\yquake2\src\client\menu\menu.c(4380,17): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(4505,31): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(5384,27): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(5712,35): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(5729,23): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\menu\menu.c(5860,34): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>sdl.c 9>sound.c 9>wave.c 7>network.obj : error LNK2019: unresolved external symbol __imp_bind referenced in function NET_IPSocket 7>network.obj : error LNK2019: unresolved external symbol __imp_closesocket referenced in function NET_Config 7>network.obj : error LNK2019: unresolved external symbol __imp_ioctlsocket referenced in function NET_IPSocket 7>network.obj : error LNK2019: unresolved external symbol __imp_htons referenced in function NET_IPXSocket 9>vid.c 7>network.obj : error LNK2019: unresolved external symbol __imp_ntohs referenced in function NET_AdrToString 7>network.obj : error LNK2019: unresolved external symbol __imp_recvfrom referenced in function NET_GetPacket 7>network.obj : error LNK2019: unresolved external symbol __imp_select referenced in function NET_Sleep 7>network.obj : error LNK2019: unresolved external symbol __imp_sendto referenced in function NET_SendPacket 7>network.obj : error LNK2019: unresolved external symbol __imp_setsockopt referenced in function NET_IPSocket 7>network.obj : error LNK2019: unresolved external symbol __imp_socket referenced in function NET_IPSocket 7>network.obj : error LNK2019: unresolved external symbol __imp_WSAStartup referenced in function NET_Init 7>network.obj : error LNK2019: unresolved external symbol __imp_WSACleanup referenced in function NET_Shutdown 9>argproc.c 7>network.obj : error LNK2019: unresolved external symbol __imp_WSAGetLastError referenced in function NET_ErrorString 7>network.obj : error LNK2019: unresolved external symbol __imp_getaddrinfo referenced in function NET_IPSocket 7>network.obj : error LNK2019: unresolved external symbol __imp_freeaddrinfo referenced in function NET_IPSocket 9>clientserver.c 7>network.obj : error LNK2019: unresolved external symbol __imp_getnameinfo referenced in function NET_BaseAdrToString 7>system.obj : error LNK2019: unresolved external symbol __imp_timeBeginPeriod referenced in function Sys_Init 9>collision.c 9>crc.c 7>system.obj : error LNK2019: unresolved external symbol __imp_timeEndPeriod referenced in function Sys_Quit 7>Z:\CODE\BUILDS\release\Release\q2ded.exe : fatal error LNK1120: 18 unresolved externals 7>Done building project "q2ded.vcxproj" -- FAILED. 9>Z:\CODE\yquake2\src\common\collision.c(1624,13): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>cmdparser.c 9>Z:\CODE\yquake2\src\common\cmdparser.c(90,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(98,28): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(313,28): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(540,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(578,7): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(670,25): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(695,52): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(792,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\cmdparser.c(917,9): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>cvar.c 9>filesystem.c 9>glob.c 9>Z:\CODE\yquake2\src\client\sound\sound.c(233,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>md4.c 9>movemsg.c 9>frame.c 9>netchan.c 9>Z:\CODE\yquake2\src\common\frame.c(125,11): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>pmove.c 9>szone.c 9>Z:\CODE\yquake2\src\client\vid\vid.c(108,24): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data 6>Done building project "quake2.vcxproj". 9>Z:\CODE\yquake2\src\common\netchan.c(158,37): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>zone.c 9>flash.c 9>rand.c 9>shared.c 9>ioapi.c 9>unzip.c 9>miniz.c 9>Z:\CODE\yquake2\src\common\shared\shared.c(1067,40): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>miniz_tdef.c 9>miniz_tinfl.c 9>Z:\CODE\yquake2\src\common\filesystem.c(587,8): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\filesystem.c(653,9): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 2>Done building project "ref_soft.vcxproj". 9>Z:\CODE\yquake2\src\common\filesystem.c(1079,14): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\common\filesystem.c(1411,22): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>sv_cmd.c 8>Done building project "game.vcxproj". 9>sv_conless.c 5>Done building project "ref_gl1.vcxproj". 9>Z:\CODE\yquake2\src\server\sv_cmd.c(425,10): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\server\sv_cmd.c(436,10): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>sv_entities.c 9>sv_game.c 9>sv_init.c 9>Z:\CODE\yquake2\src\server\sv_init.c(539,6): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data 9>sv_main.c 9>sv_save.c 9>sv_send.c 9>sv_user.c 9>sv_world.c 9>sdl2.c 9>glimp_sdl2.c 9>main.c 9>network.c 9>system.c 9>hunk.c 9>misc.c 9>Z:\CODE\yquake2\src\backends\windows\network.c(882,38): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\client\input\sdl2.c(2145,24): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\shared\hunk.c(85,9): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\system.c(258,45): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\system.c(261,30): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\system.c(265,37): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\system.c(631,55): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>Z:\CODE\yquake2\src\backends\windows\system.c(709,56): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data 9>yquake2.vcxproj -> Z:\CODE\BUILDS\release\Release\yquake2.exe 9>Done building project "yquake2.vcxproj". 10>------ Skipped Build: Project: ALL_BUILD, Configuration: Release ARM64 ------ 10>Project not selected to build for this solution configuration ========== Build: 6 succeeded, 3 failed, 0 up-to-date, 1 skipped ========== ========== Build completed at 22:42 and took 54,780 seconds ========== ```
image

What do you think about making the server component optional (Cmake switch ON/OFF)?

ArminiusTux commented 1 month ago

Bingo?

ws2_32was referenced twice in the main CMakeLists.txt (until April):

line 687 for the client.exe & line 720 for the server.exe

until this commit by @Yamagi

ArminiusTux commented 1 month ago

Indeed, after changing line 751 to: target_link_libraries(q2ded ${yquake2LinkerFlags} ${yquake2ZLibLinkerFlags} ws2_32 winmm)

the compilation now succeeds: ``` $ cmake .. -DCMAKE_BUILD_TYPE=Release -- Building for: Ninja CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions. NOTICE: The CMakeLists.txt is unmaintained. Use the Makefile if possible. -- The C compiler identification is Clang 18.1.8 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/msys64/clangarm64/bin/cc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Setting YQ2OSTYPE to "Windows" and YQ2ARCH to "arm64". -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found SDL2: mingw32;-mwindows;D:/msys64/clangarm64/lib/libSDL2main.a;D:/msys64/clangarm64/lib/libSDL2.dll.a;-lpthread -- Found OpenGL: opengl32 -- Looking for backtrace -- Looking for backtrace - not found -- Looking for backtrace in execinfo -- Looking for backtrace in execinfo - not found -- Found CURL: D:/msys64/clangarm64/lib/cmake/CURL/CURLConfig.cmake (found version "8.9.0") -- Found OpenAL: D:/msys64/clangarm64/lib/libopenal.dll.a -- Configuring done (6.4s) -- Generating done (0.2s) -- Build files have been written to: C:/CODING/yquake2/build $ ninja [259/259] Linking C shared module release\ref_soft.dll ```
image

Thank you @DanielGibson !

DanielGibson commented 1 month ago

Cool! Does q2ded really need winmm (that's for multimedia stuff, I think?), or does ws2_32 (WinSock, networking stuff) suffice?

Yamagi commented 1 month ago

Does q2ded really need winmm (that's for multimedia stuff, I think?), or does ws2_32 (WinSock, networking stuff) suffice?

Properly not. It requires some investigation.