Skip to content

Linking errors with lime rebuild winrt #2011

Description

@tobil4sk

Not sure if this is still considered supported, but it seems lime rebuild winrt does not build properly.

This patch resolves some of them:

diff --git a/project/Build.xml b/project/Build.xml
index d6f0d7c..698f501 100755
--- a/project/Build.xml
+++ b/project/Build.xml
@@ -105,6 +105,7 @@

                <section if="LIME_FREETYPE">

+                       <compilerflag value="-I${NATIVE_TOOLKIT_PATH}/custom/freetype/include/" />
                        <compilerflag value="-I${NATIVE_TOOLKIT_PATH}/freetype/include" />
                        <compilerflag value="-DLIME_FREETYPE" />

@@ -440,6 +441,8 @@
                                <lib name="RuntimeObject.lib" if="winrt" />
                                <lib name="Xinput.lib" if="winrt" />
                                <lib name="DXGI.lib" if="winrt" />
+                               <lib name="Synchronization.lib" if="winrt" />
+                               <lib name="Mmdevapi.lib" if="winrt" />

                                <lib name="-libpath:../templates/bin/hl/${BINDIR}" if="LIME_HASHLINK" />
                                <lib name="libhl.lib" if="LIME_HASHLINK" />
diff --git a/project/lib/sdl-files.xml b/project/lib/sdl-files.xml
index c9c5011..19d84e3 100755
--- a/project/lib/sdl-files.xml
+++ b/project/lib/sdl-files.xml
@@ -476,15 +476,16 @@
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/haptic/windows/SDL_dinputhaptic.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/haptic/windows/SDL_windowshaptic.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/haptic/windows/SDL_xinputhaptic.c" />
-            <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/hidapi/windows/hid.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/joystick/windows/SDL_dinputjoystick.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/joystick/windows/SDL_windowsjoystick.c" />
+            <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/joystick/windows/SDL_windows_gaming_input.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/joystick/windows/SDL_xinputjoystick.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/loadso/windows/SDL_sysloadso.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/render/direct3d11/SDL_render_d3d11.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/render/direct3d12/SDL_render_d3d12.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/render/SDL_d3dmath.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/thread/generic/SDL_syscond.c" />
+            <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/thread/windows/SDL_syscond_cv.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/thread/windows/SDL_sysmutex.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/thread/windows/SDL_syssem.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/thread/windows/SDL_systhread.c" />
@@ -499,6 +500,7 @@
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/misc/windows/SDL_sysurl.c" />
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/power/windows/SDL_syspower.c" />
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/render/direct3d/SDL_render_d3d.c" />
+                <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/hidapi/windows/hid.c" />
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/video/windows/SDL_windowsclipboard.c" />
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/video/windows/SDL_windowsevents.c" />
                 <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/video/windows/SDL_windowsframebuffer.c" />
@@ -524,6 +526,7 @@
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/winrt/SDL_winrtapp_direct3d.cpp" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/winrt/SDL_winrtapp_xaml.cpp" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/filesystem/winrt/SDL_sysfilesystem.cpp" />
+            <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/haptic/dummy/SDL_syshaptic.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/locale/winrt/SDL_syslocale.c" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/misc/winrt/SDL_sysurl.cpp" />
             <file name="${NATIVE_TOOLKIT_PATH}/sdl/src/power/winrt/SDL_syspower.cpp" />

However, then I still get a cairo error:

Link: obj/lib/lime.ndll
   Creating library obj\lib\lime.lib and object obj\lib\lime.exp
f6b9188d_cairo-misc.obj : error LNK2019: unresolved external symbol _CreateFileW referenced in function __cairo_tmpfile
obj\lib\lime.ndll : fatal error LNK1120: 1 unresolved externals

CreateFileW is only available for windows desktop apps. I suppose this would have to be handled upstream in cairo, not sure if that project has winrt support.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions