snowkit / snow

A low level cross platform framework for Haxe. Mac, Windows, Linux, Android, iOS, WebGL.
http://snowkit.org/snow
MIT License
133 stars 35 forks source link

target; 64 bit windows #18

Closed ruby0x1 closed 10 years ago

ruby0x1 commented 10 years ago

Blocked by lack of hxcpp 64 bit on Windows.

Please consider requesting this feature at: https://github.com/HaxeFoundation/hxcpp

The more need/desire, the more likely.

JeriXNet commented 10 years ago

I was able to built with hxcpp 64bit windows executables through mingw 2 days ago. Maybe lack of 64bit support on windows is a bit outdated? //although, I don't know anythings about msvs and their tools

ruby0x1 commented 10 years ago

Possibly? I saw issues on the hxcpp for some years now, with no changes. I will look into it, I recall seeing code that stopped 64 bit on msvc but I can't find it now. It will be easy enough to test later.

JeriXNet commented 10 years ago

again, I don't know about msvs, but with mingw-builds mingw installations (separate for targeting 32 and 64 bits) it was ok

ruby0x1 commented 10 years ago

I just read that MSVC express doesn't support 64 bit builds. eugh.

I will remove any roads in the tools that warn of this, and "allow" windows to build against 64 bit, and have someone try build and test a 64 bit windows build on a dev box setup for that. That should be a good start, as I see there is some provision for that now in the hxcpp toolchain.

marynate commented 10 years ago

Got following error on VC2013 64 bit windows build: ( same project runs fine for 32 bit build )

   Creating library LuxeApp.lib and object LuxeApp.exp
libsnow.lib(d452f45b_helpers.obj) : error LNK2019: unresolved external symbol __control87_2 referenced in function RestoreFPUMode
LuxeApp.exe : fatal error LNK1120: 1 unresolved externals
ruby0x1 commented 10 years ago

https://github.com/underscorediscovery/snow/commit/799fc3a1a373b9280b33fde18164bff57ae843c2

ruby0x1 commented 10 years ago

It should be working now, if you update, you can build your windows project using --arch 64, I think (will confirm) it runs automatically at 64 if that's your arch

ruby0x1 commented 10 years ago

and update flow, as it now builds the default to your os arch

ashea-code commented 10 years ago

My windows system still wants to default to 32 bit it seems, even though I am on a 64 bit OS and machine. When I try to force it with --arch 64 it complains that the 64 bit versions of lib files (such as regexp.lib) cannot be found. Assuming that's an issue with hxcpp?

marynate commented 10 years ago

You need to build hxcpp 64bit librarys:

neko run.n Build.xml -Dwindows -DHXCPP_M64 -Dstatic_link ./project/

run in the root folder of your hxcpp repo

ruby0x1 commented 10 years ago

Yea, I originally defaulted it to 64 and then realized it won't "just work" and there are actually problems with visual c++ express edition not supporting x64 at all. In order to use it with express, you need an additional Platform SDK which required me to uninstall express, install the sdk, reinstall express, and in the end, hxcpp doesn't come with prebuilt x64 binaries so all in all, it's better if it's explicit for now.

ashea-code commented 10 years ago

I got it working, thanks! I was hoping there would be a nice way to specify architecture via the flow file. Unless I'm missing something.

ruby0x1 commented 10 years ago

There isn't arch from the flow file right now. Make an issue and I can find a nice way to make that an option.