FORUMS
Remove All Ads from XDA
Honor 7x
Win an Honor 7X!

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

276 posts
Thanks Meter: 102
 
By no2chem, Senior Member on 13th January 2013, 05:51 AM
Post Reply Email Thread
19th March 2013, 10:06 AM |#51  
Myriachan's Avatar
Senior Member
Thanks Meter: 175
 
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.
 
 
19th March 2013, 10:21 AM |#52  
YamiHoshi's Avatar
Member
Flag Breda
Thanks Meter: 8
 
More
Porting to DirectX 9 worked, but there's another problem incoming: AVIFIL32.dll is missing.
It's present on my Windows 8 PC, but it doesn't work on the Surface.
19th March 2013, 11:32 AM |#53  
lilstevie's Avatar
Senior Recognized Developer
Thanks Meter: 1,043
 
Donate to Me
More
Quote:
Originally Posted by YamiHoshi

Porting to DirectX 9 worked, but there's another problem incoming: AVIFIL32.dll is missing.
It's present on my Windows 8 PC, but it doesn't work on the Surface.

if it isn't present in the windows rt system that may be a little bit of an issue. does it provide important functionality for the application?
19th March 2013, 11:52 AM |#54  
YamiHoshi's Avatar
Member
Flag Breda
Thanks Meter: 8
 
More
Yes, even a lot, as it's a recording App.
The Source Code I've got still uses VFW, which is a really, really old API.
The original maker of it has already rewritten it to the new one, I'll try to get my brother to ask for the new Code.
19th March 2013, 04:46 PM |#55  
Senior Member
Thanks Meter: 326
 
More
Quote:
Originally Posted by Myriachan

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.

thats great but we dont have directX 9 either. 9 and 10 are next to non existant on RT. 11 is there I think.
19th March 2013, 09:27 PM |#56  
Inactive Recognized Developer
Flag Denver
Thanks Meter: 563
 
Donate to Me
More
Quote:
Originally Posted by YamiHoshi

Porting to DirectX 9 worked, but there's another problem incoming: AVIFIL32.dll is missing.
It's present on my Windows 8 PC, but it doesn't work on the Surface.

I wasn't able to find it when I ported over WabbitEmu (has a recording feature), but since it wasn't critical to the app's core functionality I just removed it.
20th March 2013, 12:34 AM |#57  
Inactive Recognized Developer
Flag Seattle
Thanks Meter: 2,921
 
More
AVI is just a media file container, not an actual codec. Depending on the necessary codec support and the complexity of the API, it may be possible to either implement it yourself or adapt one of the open-source implementations.

Alternatively, you may be able to just rip out AVI support. Nobody sane will mind that much; it's a deprecated and mildly terrible format.
20th March 2013, 03:53 PM |#58  
YamiHoshi's Avatar
Member
Flag Breda
Thanks Meter: 8
 
More
I've got the new Code, and it works now.
Download: http://3dscapture.com/forum/viewtopic.php?f=3&t=616

Feel free to re-host it, but it's not like anybody here will find it useful, though.
28th April 2013, 12:35 PM |#59  
Retired Recognized Developer
Thanks Meter: 222
 
Donate to Me
More
Updated the windows RT MFC library. Download it here: https://drive.google.com/folderview?...ms&usp=sharing
Now you can use MFC controls in dialog templates, COM maybe working, and non-unicode library is present (non-unicode lib is only release build, as debug build fails to run for some reason).
MFC sources with my modifications are attached, so anyone can rebuild them if needed.

Edited 29 apr.
Archive mfc-winrt.7z on google drive contained a wrong uafxcw.lib file - the apps using that lib would not build. Reuploaded a correct archive.
Attached Files
File Type: 7z atlmfc-winrt-src.7z - [Click for QR Code] (2.48 MB, 481 views)
The Following User Says Thank You to mamaich For This Useful Post: [ View ] Gift mamaich Ad-Free
7th May 2013, 08:34 AM |#60  
Retired Recognized Developer
Thanks Meter: 222
 
Donate to Me
More
Reposting here to keep all porting hints in the same thread.

danesh110 found that beta version of Visual Studio 2012 (VS11) contained the ARM MFC library: http://forum.xda-developers.com/show...&postcount=690
VS11 beta contains both static and DLL MFC versions, both debug and retail. You can download it here: http://download.microsoft.com/downlo...TA_ULT_ENU.iso, install it, for example, into virtual machine and grab files from "C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\lib\arm" folder.

It is better to use Microsoft-made MFC than my files - as my sources contain some stubs and hacks.
I've compared the MFC sources from VS11 beta with the retail VS2012 - they are more complete in beta. Sources contain files missing from the retail build.
The Following 2 Users Say Thank You to mamaich For This Useful Post: [ View ] Gift mamaich Ad-Free
13th June 2013, 01:07 AM |#61  
chinabull's Avatar
Member
Flag ottawa
Thanks Meter: 66
 
More
Not sure it matters but just want to confirm the vs 2012 express also has the arm compiler included. I have built and run one of our win32 app on my vivotab rt. Of course I have to do the trick for vs 2012 settings and pulled libs from my rt tablet. I have 3 versions of vs 2012 express installed: WP, windows8, windows desktop, btw.

Sent from my RM-820_nam_canada_200 using XDA Windows Phone 7 App
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