Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to build on MSYS2 MINGW64 #140

Open
ghost opened this issue Jun 25, 2023 · 3 comments
Open

Failed to build on MSYS2 MINGW64 #140

ghost opened this issue Jun 25, 2023 · 3 comments
Assignees
Labels

Comments

@ghost
Copy link

ghost commented Jun 25, 2023

cmake configuration is fine:

$ cmake ..
-- Building for: Ninja
-- The C compiler identification is GNU 13.1.0
-- The CXX compiler identification is GNU 13.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Vulkan: C:/msys64/mingw64/lib/libvulkan-1.dll.a (found version "1.3.255") found components: glslangValidator missing components: glslc
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (1.9s)
-- Generating done (0.0s)
-- Build files have been written to: C:/msys64/home/Administrator/vkvg/build

But it failed to compile:

$ ninja
[1/56] Building C object CMakeFiles/vkvg_shared.dir/src/deps/tinycthread.c.obj
[2/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_device.c.obj
[3/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_device_internal.c.obj
[4/56] Building C object CMakeFiles/vkvg_shared.dir/src/cross_os.c.obj
[5/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_matrix.c.obj
[6/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.obj
[7/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_experimental.c.obj
[8/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_pattern.c.obj
[9/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_context_internal.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'combine2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1765:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1765 |         *outData = (void*)((unsigned long)(ctx->vertCount - ctx->curVertOffset));
      |                    ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'vertex2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1770:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1770 |         VKVG_IBO_INDEX_TYPE i = (VKVG_IBO_INDEX_TYPE)vertex_data;
      |                                 ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function '_fill_non_zero':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1824:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1824 |                                 gluTessVertex(tess, dp, (void*)((unsigned long)firstVertIdx + i));
      |                                                         ^
[10/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_fonts.c.obj
[11/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_surface_internal.c.obj
[12/56] Building C object CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record.c.obj
[13/56] Building C object CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record_internal.c.obj
[14/56] Building C object CMakeFiles/vkvg_static.dir/src/cross_os.c.obj
[15/56] Building C object CMakeFiles/vkvg_static.dir/src/deps/tinycthread.c.obj
[16/56] Building C object CMakeFiles/vkvg_shared.dir/src/nsvg/vkvg_nsvg.c.obj
[17/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_device.c.obj
[18/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_context.c.obj
[19/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_device_internal.c.obj
[20/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_matrix.c.obj
[21/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_context_internal.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'combine2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1765:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1765 |         *outData = (void*)((unsigned long)(ctx->vertCount - ctx->curVertOffset));
      |                    ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'vertex2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1770:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1770 |         VKVG_IBO_INDEX_TYPE i = (VKVG_IBO_INDEX_TYPE)vertex_data;
      |                                 ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function '_fill_non_zero':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1824:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1824 |                                 gluTessVertex(tess, dp, (void*)((unsigned long)firstVertIdx + i));
      |                                                         ^
[22/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_experimental.c.obj
[23/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_fonts.c.obj
[24/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_pattern.c.obj
[25/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_surface_internal.c.obj
[26/56] Building C object CMakeFiles/vkvg_static.dir/src/recording/vkvg_record.c.obj
[27/56] Building C object CMakeFiles/vkvg_static.dir/src/recording/vkvg_record_internal.c.obj
[28/56] Building C object CMakeFiles/vkvg_static.dir/src/nsvg/vkvg_nsvg.c.obj
[29/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_app.c.obj
[30/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_buffer.c.obj
[31/56] Building C object vkh/CMakeFiles/vkh.dir/src/deps/tinycthread.c.obj
[32/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_device.c.obj
[33/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_phyinfo.c.obj
[34/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_queue.c.obj
[35/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_image.c.obj
[36/56] Building C object external/glutess/CMakeFiles/glutess.dir/src/dict.c.obj
[37/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_presenter.c.obj
[38/56] Building C object vkh/CMakeFiles/vkh.dir/src/vkhelpers.c.obj
[39/56] Building CXX object vkh/CMakeFiles/libVMA.dir/src/vma/VmaUsage.cpp.obj
FAILED: vkh/CMakeFiles/libVMA.dir/src/vma/VmaUsage.cpp.obj
C:\msys64\mingw64\bin\c++.exe -DVKH_USE_VMA -DVKVG_PREMULT_ALPHA -DVKVG_VERSION_MAJOR=0 -DVKVG_VERSION_MINOR=3 -DVKVG_VERSION_REVISION=0 -IC:/msys64/home/Administrator/vkvg/vkh/src/vma -O3 -DNDEBUG -std=gnu++11 -MD -MT vkh/CMakeFiles/libVMA.dir/src/vma/VmaUsage.cpp.obj -MF vkh\CMakeFiles\libVMA.dir\src\vma\VmaUsage.cpp.obj.d -o vkh/CMakeFiles/libVMA.dir/src/vma/VmaUsage.cpp.obj -c C:/msys64/home/Administrator/vkvg/vkh/src/vma/VmaUsage.cpp
In file included from C:/msys64/home/Administrator/vkvg/vkh/src/vma/VmaUsage.cpp:8:
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h: In function 'void VmaUint32ToStr(char*, size_t, uint32_t)':
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3654:17: error: 'snprintf' was not declared in this scope
 3654 |                 snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
      |                 ^~~~~~~~
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3545:1: note: 'snprintf' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?
 3544 | #include <mutex>
  +++ |+#include <cstdio>
 3545 |
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h: In function 'void VmaUint64ToStr(char*, size_t, uint64_t)':
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3658:17: error: 'snprintf' was not declared in this scope
 3658 |                 snprintf(outStr, strLen, "%llu", static_cast<unsigned long long>(num));
      |                 ^~~~~~~~
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3658:17: note: 'snprintf' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h: In function 'void VmaPtrToStr(char*, size_t, const void*)':
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3662:17: error: 'snprintf' was not declared in this scope
 3662 |                 snprintf(outStr, strLen, "%p", ptr);
      |                 ^~~~~~~~
C:/msys64/home/Administrator/vkvg/vkh/src/vk_mem_alloc.h:3662:17: note: 'snprintf' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?
[40/56] Building C object external/glutess/CMakeFiles/glutess.dir/src/memalloc.c.obj
[41/56] Building C object external/glutess/CMakeFiles/glutess.dir/src/geom.c.obj
[42/56] Building C object external/glutess/CMakeFiles/glutess.dir/src/mesh.c.obj
[43/56] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_surface.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:32: warning: "max" redefined
   32 | #define max(x,y)
      |
In file included from C:/msys64/mingw64/include/windef.h:9,
                 from C:/msys64/mingw64/include/windows.h:69,
                 from C:/msys64/home/Administrator/vkvg/src/deps/tinycthread.h:88,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_internal.h:76,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface_internal.h:25,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:23:
C:/msys64/mingw64/include/minwindef.h:173: note: this is the location of the previous definition
  173 | #define max(a, b) (((a) > (b)) ? (a) : (b))
      |
[44/56] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_surface.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:32: warning: "max" redefined
   32 | #define max(x,y)
      |
In file included from C:/msys64/mingw64/include/windef.h:9,
                 from C:/msys64/mingw64/include/windows.h:69,
                 from C:/msys64/home/Administrator/vkvg/src/deps/tinycthread.h:88,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_internal.h:76,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface_internal.h:25,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:23:
C:/msys64/mingw64/include/minwindef.h:173: note: this is the location of the previous definition
  173 | #define max(a, b) (((a) > (b)) ? (a) : (b))
      |
ninja: build stopped: subcommand failed.

Did you forget to include <cstdio> on vkh/src/vk_mem_alloc.h? GCC is more strict than Clang about that.

@jpbruyere jpbruyere self-assigned this Jun 25, 2023
@jpbruyere jpbruyere added the bug label Jun 25, 2023
@jpbruyere
Copy link
Owner

Tanks for your report, feel free to submit patch for mysys2 support. I'll try to take some time on this next weekend.

@ghost
Copy link
Author

ghost commented Jun 25, 2023

Tanks for your report, feel free to submit patch for mysys2 support. I'll try to take some time on this next weekend.

You are missing #include <cstdio> on vkh/src/vk_mem_alloc.h. I edited that file to add the missing include. The compilation is fine but now it failed to link libvkvg.dll:

$ ninja
[1/150] Building C object CMakeFiles/vkvg_shared.dir/src/deps/tinycthread.c.obj
[2/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_device.c.obj
[3/150] Building C object CMakeFiles/vkvg_shared.dir/src/cross_os.c.obj
[4/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_device_internal.c.obj
[5/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_matrix.c.obj
[6/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.obj
[7/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_context_internal.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'combine2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1765:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1765 |         *outData = (void*)((unsigned long)(ctx->vertCount - ctx->curVertOffset));
      |                    ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'vertex2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1770:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1770 |         VKVG_IBO_INDEX_TYPE i = (VKVG_IBO_INDEX_TYPE)vertex_data;
      |                                 ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function '_fill_non_zero':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1824:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1824 |                                 gluTessVertex(tess, dp, (void*)((unsigned long)firstVertIdx + i));
      |                                                         ^
[8/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_experimental.c.obj
[9/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_pattern.c.obj
[10/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_fonts.c.obj
[11/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_surface_internal.c.obj
[12/150] Building C object CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record.c.obj
[13/150] Building C object CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record_internal.c.obj
[14/150] Building C object CMakeFiles/vkvg_static.dir/src/cross_os.c.obj
[15/150] Building C object CMakeFiles/vkvg_static.dir/src/deps/tinycthread.c.obj
[16/150] Building C object CMakeFiles/vkvg_shared.dir/src/nsvg/vkvg_nsvg.c.obj
[17/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_device.c.obj
[18/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_context.c.obj
[19/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_device_internal.c.obj
[20/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_matrix.c.obj
[21/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_experimental.c.obj
[22/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_context_internal.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'combine2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1765:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1765 |         *outData = (void*)((unsigned long)(ctx->vertCount - ctx->curVertOffset));
      |                    ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function 'vertex2':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1770:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1770 |         VKVG_IBO_INDEX_TYPE i = (VKVG_IBO_INDEX_TYPE)vertex_data;
      |                                 ^
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c: In function '_fill_non_zero':
C:/msys64/home/Administrator/vkvg/src/vkvg_context_internal.c:1824:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1824 |                                 gluTessVertex(tess, dp, (void*)((unsigned long)firstVertIdx + i));
      |                                                         ^
[23/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_fonts.c.obj
[24/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_pattern.c.obj
[25/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_surface_internal.c.obj
[26/150] Building C object CMakeFiles/vkvg_static.dir/src/recording/vkvg_record.c.obj
[27/150] Building C object CMakeFiles/vkvg_static.dir/src/recording/vkvg_record_internal.c.obj
[28/150] Building C object CMakeFiles/vkvg_static.dir/src/nsvg/vkvg_nsvg.c.obj
[29/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_app.c.obj
[30/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_buffer.c.obj
[31/150] Building C object vkh/CMakeFiles/vkh.dir/src/deps/tinycthread.c.obj
[32/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_device.c.obj
[33/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_phyinfo.c.obj
[34/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_queue.c.obj
[35/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_image.c.obj
[36/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkhelpers.c.obj
[37/150] Building C object vkh/CMakeFiles/vkh.dir/src/vkh_presenter.c.obj
[38/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/dict.c.obj
[39/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/memalloc.c.obj
[40/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/geom.c.obj
[41/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/priorityq-heap.c.obj
[42/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/mesh.c.obj
[43/150] Building C object CMakeFiles/vkvg_shared.dir/src/vkvg_surface.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:32: warning: "max" redefined
   32 | #define max(x,y)
      |
In file included from C:/msys64/mingw64/include/windef.h:9,
                 from C:/msys64/mingw64/include/windows.h:69,
                 from C:/msys64/home/Administrator/vkvg/src/deps/tinycthread.h:88,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_internal.h:76,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface_internal.h:25,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:23:
C:/msys64/mingw64/include/minwindef.h:173: note: this is the location of the previous definition
  173 | #define max(a, b) (((a) > (b)) ? (a) : (b))
      |
[44/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/priorityq.c.obj
[45/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/render.c.obj
[46/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/sweep.c.obj
[47/150] Building CXX object vkh/CMakeFiles/libVMA.dir/src/vma/VmaUsage.cpp.obj
[48/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/tess.c.obj
[49/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/tessmono.c.obj
[50/150] Building C object external/glutess/CMakeFiles/glutess.dir/src/normal.c.obj
[51/150] Linking C static library vkh\liblibVMA.a
[52/150] Building C object tests/CMakeFiles/tests_common.dir/common/rnd.c.obj
[53/150] Linking C static library external\glutess\libglutess.a
[54/150] Linking C static library vkh\libvkh.a
[55/150] Building C object tests/CMakeFiles/tests_common.dir/common/vkengine.c.obj
[56/150] Linking C shared library libvkvg.dll
FAILED: libvkvg.dll libvkvg.dll.a
cmd.exe /C "cd . && C:\msys64\mingw64\bin\cc.exe -O3 -DNDEBUG   -shared -o libvkvg.dll -Wl,--out-implib,libvkvg.dll.a -Wl,--major-image-version,0,--minor-image-version,3 CMakeFiles/vkvg_shared.dir/src/cross_os.c.obj CMakeFiles/vkvg_shared.dir/src/deps/tinycthread.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_context_internal.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_device.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_device_internal.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_experimental.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_fonts.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_matrix.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_pattern.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_surface.c.obj CMakeFiles/vkvg_shared.dir/src/vkvg_surface_internal.c.obj CMakeFiles/vkvg_shared.dir/src/nsvg/vkvg_nsvg.c.obj CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record.c.obj CMakeFiles/vkvg_shared.dir/src/recording/vkvg_record_internal.c.obj  C:/msys64/mingw64/lib/libfreetype.dll.a  C:/msys64/mingw64/lib/libfontconfig.dll.a  C:/msys64/mingw64/lib/libharfbuzz.dll.a  external/glutess/libglutess.a  C:/msys64/mingw64/lib/libvulkan-1.dll.a  vkh/libvkh.a  C:/msys64/mingw64/lib/libvulkan-1.dll.a  vkh/liblibVMA.a  -lstdc++  -lgcc_s  -lgcc_s  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe835): undefined reference to `vkFreeMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe841): undefined reference to `vkUnmapMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe84d): undefined reference to `vkInvalidateMappedMemoryRanges'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe859): undefined reference to `vkBindImageMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe865): undefined reference to `vkGetImageMemoryRequirements'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe87e): undefined reference to `vkMapMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe88e): undefined reference to `vkDestroyBuffer'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe89c): undefined reference to `vkAllocateMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe8af): undefined reference to `vkFlushMappedMemoryRanges'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe8bf): undefined reference to `vkDestroyImage'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe8d2): undefined reference to `vkBindBufferMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe8f5): undefined reference to `vkGetBufferMemoryRequirements'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe913): undefined reference to `vkCreateBuffer'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.text+0xe92a): undefined reference to `vkCreateImage'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkCmdCopyBuffer[.refptr.vkCmdCopyBuffer]+0x0): undefined reference to `vkCmdCopyBuffer'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkCreateImage[.refptr.vkCreateImage]+0x0): undefined reference to `vkCreateImage'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkDestroyImage[.refptr.vkDestroyImage]+0x0): undefined reference to `vkDestroyImage'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkCreateBuffer[.refptr.vkCreateBuffer]+0x0): undefined reference to `vkCreateBuffer'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkDestroyBuffer[.refptr.vkDestroyBuffer]+0x0): undefined reference to `vkDestroyBuffer'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkGetBufferMemoryRequirements[.refptr.vkGetBufferMemoryRequirements]+0x0): undefined reference to `vkGetBufferMemoryRequirements'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkGetImageMemoryRequirements[.refptr.vkGetImageMemoryRequirements]+0x0): undefined reference to `vkGetImageMemoryRequirements'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkBindBufferMemory[.refptr.vkBindBufferMemory]+0x0): undefined reference to `vkBindBufferMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkBindImageMemory[.refptr.vkBindImageMemory]+0x0): undefined reference to `vkBindImageMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkFlushMappedMemoryRanges[.refptr.vkFlushMappedMemoryRanges]+0x0): undefined reference to `vkFlushMappedMemoryRanges'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkInvalidateMappedMemoryRanges[.refptr.vkInvalidateMappedMemoryRanges]+0x0): undefined reference to `vkInvalidateMappedMemoryRanges'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkMapMemory[.refptr.vkMapMemory]+0x0): undefined reference to `vkMapMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkUnmapMemory[.refptr.vkUnmapMemory]+0x0): undefined reference to `vkUnmapMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkAllocateMemory[.refptr.vkAllocateMemory]+0x0): undefined reference to `vkAllocateMemory'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: vkh/liblibVMA.a(VmaUsage.cpp.obj):VmaUsage.cpp:(.rdata$.refptr.vkFreeMemory[.refptr.vkFreeMemory]+0x0): undefined reference to `vkFreeMemory'
collect2.exe: error: ld returned 1 exit status
[57/150] Building C object tests/CMakeFiles/tests_common.dir/common/tinycthread.c.obj
[58/150] Building C object tests/CMakeFiles/tests_common.dir/common/test.c.obj
[59/150] Building C object tests/CMakeFiles/arcs.dir/arcs.c.obj
[60/150] Building C object CMakeFiles/vkvg_static.dir/src/vkvg_surface.c.obj
C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:32: warning: "max" redefined
   32 | #define max(x,y)
      |
In file included from C:/msys64/mingw64/include/windef.h:9,
                 from C:/msys64/mingw64/include/windows.h:69,
                 from C:/msys64/home/Administrator/vkvg/src/deps/tinycthread.h:88,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_internal.h:76,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface_internal.h:25,
                 from C:/msys64/home/Administrator/vkvg/src/vkvg_surface.c:23:
C:/msys64/mingw64/include/minwindef.h:173: note: this is the location of the previous definition
  173 | #define max(a, b) (((a) > (b)) ? (a) : (b))
      |
[61/150] Building C object tests/CMakeFiles/bezier.dir/bezier.c.obj
ninja: build stopped: subcommand failed.

@jpbruyere
Copy link
Owner

After testing a bit by myself, mysys support needs special handling. in src/cross_os.h I check only for windows/apple/unix platforms. To support mysys witch is a special environment, some additional platform testing is required. For now, I can't spend more time on this. Feel free to submit patch if you succeed compiling for mysys.

@jpbruyere jpbruyere added enhancement TODO to do.. and removed bug labels Jul 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant