Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Able to link WinRT app in Visual Studio? — Gideros Forum

Able to link WinRT app in Visual Studio?

PaulHPaulH Member
edited September 2015 in General questions
I've been trying to build a Windows Phone app from a Gideros Export. As discussed in the thread http://giderosmobile.com/forum/discussion/6025/sqlite-error-with-wp-export#Item_3
there's an issue with the exported project looking for an outdated version of SQLite, but that can be solved by editing the project. That question has been answered, so I'm moving my follow up to a new thread.

After getting past the SQLite issue, I get unresolved externals for Gideros functions:

1>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseDown
1>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchCancel
1>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchBegin
1>winrt.obj : error LNK2001: unresolved external symbol _gdr_drawFrame
1>winrt.obj : error LNK2001: unresolved external symbol _gdr_keyUp
1>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseMove
(many more...)

Has anyone been successful building a WinRT app with the current Gideros? If so, with what version of Visual Studio? Did you need to modify the project or solution?

PaulH

Comments

  • It works for me.
  • With what version of Visual Studio? Did you need to change the exported project?
  • Visual Studio community 2013 version 12.0.40629.00 Update 5
    No changes except Sqlite
  • I was using VSC 2015, but evidently my issue is something different. I just installed VSC 2013 and I'm still getting the same unresolved external errors for Gideros functions.

    Has anyone else encountered this?

    PaulH
  • john26john26 Maintainer
    I originally used Visual Studio Express 2013 for Windows to build the libs etc, but others seem to be ok with more recent Visual Studios. Can you try exporting one of the test apps and see if that is ok? Does the Windows Store app run ok on your Local Machine? Is it only Windows Phone that fails to link?

    Perhaps you could post a screenshot of VS when the error occurs?
  • I got the same results exporting one of the samples (Jumping Ball) and trying to build the solution in VS 2013. The solution contains both a Windows and WindowsPhone project, and if I build only the Windows one, it links successfully. Building the whole solution or the WindowsPhone project results in many unresolved externals.

    Any particular view in VS that would help? The output window in VS at link time shows these errors:

    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseDown
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchCancel
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchBegin
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_drawFrame
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_keyUp
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseMove
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_suspend
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_resume
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchMove
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseUp
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_touchEnd
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_keyDown
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_initialize
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_deinitialize
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_drawFirstFrame
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_mouseHover
    2>winrt.obj : error LNK2001: unresolved external symbol _gdr_exitGameLoop
    2>bit.obj : error LNK2001: unresolved external symbol _lua_pushnumber
    2>bit.obj : error LNK2001: unresolved external symbol _luaL_register
    2>bit.obj : error LNK2001: unresolved external symbol _lua_type
    2>bit.obj : error LNK2001: unresolved external symbol _lua_tonumber
    2>bit.obj : error LNK2001: unresolved external symbol _lua_isnumber
    2>bit.obj : error LNK2001: unresolved external symbol _luaL_typerror
    2>bit.obj : error LNK2001: unresolved external symbol _lua_gettop
    2>bit.obj : error LNK2001: unresolved external symbol _lua_pushlstring
    2>bit.obj : error LNK2001: unresolved external symbol _luaL_error
    2>bit_stub.obj : error LNK2001: unresolved external symbol _lua_setfield
    2>bit_stub.obj : error LNK2001: unresolved external symbol _lua_pushcclosure
    2>bit_stub.obj : error LNK2001: unresolved external symbol _g_registerPlugin
    2>bit_stub.obj : error LNK2001: unresolved external symbol _lua_getfield
    2>bit_stub.obj : error LNK2001: unresolved external symbol _lua_settop
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_tolstring
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_checkoption
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_checklstring
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_createtable
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_rawset
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_settable
    2>lfs.obj : error LNK2001: unresolved external symbol _gpath_transform
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_newmetatable
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_pushnil
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_pushinteger
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_argerror
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_pushstring
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_optnumber
    2>lfs.obj : error LNK2001: unresolved external symbol _luaL_checkudata
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_setmetatable
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_pushfstring
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_isstring
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_newuserdata
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_pushboolean
    2>lfs.obj : error LNK2001: unresolved external symbol _lua_touserdata
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_optlstring
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_checkstack
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_gettable
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_pcall
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _g_pathForFile
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_checktype
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_objlen
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_next
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_rawgeti
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_openlib
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_rawget
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_checkinteger
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_checknumber
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_typename
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_pushvalue
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_replace
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_insert
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_toboolean
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_error
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_unref
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _luaL_ref
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_rawseti
    2>lsqlite3.obj : error LNK2001: unresolved external symbol _lua_pushlightuserdata
    2>lua_cjson.obj : error LNK2001: unresolved external symbol _luaL_checkstack


  • john26john26 Maintainer
    edited October 2015 Accepted Answer
    The problem is you are trying to build both the Windows and Windows Phone projects using win32/release configuration. But the Windows Phone code needs to be built using ARM/release configuration. So "Build" is not the best way to do things. The simplest way is just use the "Start" button (with a green arrow on it) to run a particular project (Windows or Windows Phone). In that case it will build only the project that is needed, the so-called "Startup project" and run in on the device.

    If you do want to just build but don't run, use the "project only" entry in the Build menu. The build from there. You will first need to highlight the project you want in the solution explorer.

    To set the configuration, there are 2 combo boxes at the top of VS, one has win32/ARM/x64 and the other has Debug/Release.

    For Windows you must use the win32/Release combination
    For Windows Phone you must use the ARM/Release combination

    Please see here for detailed instructions:
    https://www.dropbox.com/s/2743cv3xopy7iod/winrt.rtf?dl=0

    See section: Exporting a stand alone Windows Store and Windows Phone app

    Likes: greengeek7

    +1 -1 (+1 / -0 )Share on Facebook
  • Question... Does this mean we can't run on the WP emulators? I don't have a WP myself for testing...
  • john26john26 Maintainer
    I'm afraid so you cannot run the emulators. We only export the ARM libraries which are already huge and didn't want to increase the total Gideros download by including the x86 ones. Also, I had a bad experience with the emulators (app runs fine in emulator shows a blank screen in actual device: it's always better to get a real device!)
Sign In or Register to comment.