FORUMS
Remove All Ads from XDA

[how to] compile and port win32 apps to Windows RT ARM

276 posts
Thanks Meter: 102
 
By no2chem, Senior Member on 13th January 2013, 04:51 AM
Post Reply Email Thread
24th February 2013, 03:50 AM |#41  
Senior Member
Flag NY, Long Island
Thanks Meter: 10
 
More
Good luck to everyone making some awesome ports. I hope to feature some of these awesome ports on the website I write for once they're ready
 
 
1st March 2013, 09:29 AM |#42  
Senior Member
Flag Brussels
Thanks Meter: 2
 
Donate to Me
More
wrong post
2nd March 2013, 03:33 PM |#43  
Member
Thanks Meter: 17
 
More
Is there a way you can link DRV files?

I use the the excellent dll-to-lib.ps1 script it makes a .lib file and I can link it, however the compiled application then wants the DLL file - copying the .drv file to the application folder and renaming it to .dll does work, however it seems a bit redundant...

It's the same with OCX files...
2nd March 2013, 06:56 PM |#44  
Member
Flag Portland, OR
Thanks Meter: 32
 
More
In dll-to-lib.ps1, change:

&$lib /def:$deffile /out:$libfile /MACHINE:arm

to:

$dllfile = $_.Name
&$lib /def:$deffile /out:$libfile /MACHINE:arm /name:$dllfile

Then run dll-to-lib again; the newly generated .lib files will have the proper library name to link in them.
2nd March 2013, 07:06 PM |#45  
Member
Thanks Meter: 17
 
More
Perfect. Thanks!
16th March 2013, 10:55 PM |#46  
Junior Member
Thanks Meter: 0
 
More
Remote Debugging
I have gotten my application to load on the Surface RT, but it seems to hang at a certain point. Is there any way to set up remote debugging (the application runs fine on the x86 or x64 platforms) so I can figure out where it is hanging?
16th March 2013, 11:01 PM |#47  
Member
Thanks Meter: 17
 
More
Thumbs up
Yes, of course. You can install the remote debugger (get it here or in the VS install dir) on the RT and connect to it with your desktop VS.
17th March 2013, 05:09 AM |#48  
Myriachan's Avatar
Senior Member
Thanks Meter: 174
 
More
I figured out a way to support RT desktop compilation without modifying the compiler's Microsoft.Cpp.ARM.Common.props file, which is nice if you want to distribute your changes to others.

Set up each of your Visual Studio projects to have an ARM target as usual, then close Visual Studio. For each .vcproj file of the solution, do the following:

1. Open the .vcproj file in Notepad or a similar text editor.
2. Find the <PropertyGroup> tag representing the Debug ARM target. An example:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug| ARM'" Label="Configuration">
3. Inside that PropertyGroup, add this tag:
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
4. Repeat for any other ARM targets you have (typically Release).

That tag is the same as the one you can add to Microsoft.Cpp.ARM.Common.props, but without having to modify your Visual Studio installation. For the extra .lib files, you can always just put them in one of your project directories and add that directory to your library path for the project. Then no changes to Visual Studio 2012 will be required to compile your project.
The Following 6 Users Say Thank You to Myriachan For This Useful Post: [ View ] Gift Myriachan Ad-Free
18th March 2013, 05:49 PM |#49  
YamiHoshi's Avatar
Member
Flag Breda
Thanks Meter: 8
 
More
Hi there,

I've almost fully ported an App I always preferred to be Ported.
However, it uses DirectX 8, and I'm getting this error:
Code:
error LNK2001: unresolved external symbol Direct3DCreate8
Anybody who can help this girl out again?
18th March 2013, 08:47 PM |#50  
Inactive Recognized Developer
Flag Denver
Thanks Meter: 563
 
Donate to Me
More
Quote:
Originally Posted by YamiHoshi

Hi there,

I've almost fully ported an App I always preferred to be Ported.
However, it uses DirectX 8, and I'm getting this error:

Code:
error LNK2001: unresolved external symbol Direct3DCreate8
Anybody who can help this girl out again?

DirectX 8 isn't present on the tablet, you can either port it to render in software mode or port it to one of the versions of DirectX that is present (I want to say DX9/10/11 are present, but in limited forms, but I'm honestly not sure.)
19th March 2013, 09:06 AM |#51  
Myriachan's Avatar
Senior Member
Thanks Meter: 174
 
More
Quote:
Originally Posted by YamiHoshi

Hi there,

I've almost fully ported an App I always preferred to be Ported.
However, it uses DirectX 8, and I'm getting this error:

Code:
error LNK2001: unresolved external symbol Direct3DCreate8
Anybody who can help this girl out again?

Hi =^-^= Glad I'm not the only girl here. =)

I'd just port it to DirectX 9. I once ported a professional AAA-title Windows game from DirectX 8 to DirectX 9 in about 3 hours. They are really, really similar interfaces.

Do the porting to DirectX 9 on x86 first, then port over to ARM. It'll be easier that way.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes