Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NME 6.1.1 binary nme.dll build halts with error from linker #672

Open
f-rank opened this issue Aug 9, 2020 · 6 comments
Open

NME 6.1.1 binary nme.dll build halts with error from linker #672

f-rank opened this issue Aug 9, 2020 · 6 comments

Comments

@f-rank
Copy link

f-rank commented Aug 9, 2020

With this new version, if I try to use nme it says:

"The binary nme.ndll is not distrubuted with source code, and is not built for your system yet.
Would you like to build it now Y/n ?"

I choose Yes and it invariably halts at:

"Link: ../ndll/WindowsArm64/nme.ndll
obj\msvc19-arm64\79523588_tinyxmlerror.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'ARM64'

Error building arm64"

Haxe version is 3.4.7

Older NME 6.0.58 builds ok.
Kind of stuck, any help is very appreciated.

@hughsando
Copy link
Member

Are you on a windows arm64 device (surface pro x?), or are you trying to build for arm64?
It is possible the old version used win32 binaries, and these might be needed for neko.
What version of neko are you using?
If you are on a windows-arm64 machine, you could try rebuilding the windows32 binaries with neko build.n ndll-windows-m32 from the "project" directory in nme.

@slabgames
Copy link

I'm having this problem too when using VS Studio 2019 and Haxe 3.4.7. Upgrading to haxe 4 resolves the issue. But my game won't build on Haxe 4. So I still need to stay on haxe 3.4.7. Is there any solution for this? @hughsando

@hughsando
Copy link
Member

Are you trying to build for windows arm (surface pro) ?
You could also try the above solution, or try one of the binary build from nmehost.com or build nme with haxe4 and switch back to haxe3 for your game.

@slabgames
Copy link

no, I'm not building for windows arm
I will try downloading binary from nmehost

@slabgames
Copy link

It's weird, even after downloading the binary version of nme, it still tries to build windows arm64 binary. I'm using windows 10 as my OS.

@Dimous
Copy link

Dimous commented Jan 29, 2023

Same here
Intel(R) Core(TM) i5-3230M CPU (definetly not arm64)
Windows 10 x64 Home Edition
Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.4.4 (with all c++ tools installed)
VsDevCmd.bat is in C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools, but installation script can't find it

haxelib run nme setup
This version of nme appears to be a source/developement version.
Before this can be used, you need to:
 1. Build the binaries appropriate to your system(s), this can be done with:
     cd project
     neko build.n
   Note: this requires the 'nme-toolkit' library, which can be installed with:
     haxelib install nme-toolkit
 2. Rebuild the main command-line tool, this can be done with:
     cd tools/nme
     haxe compile.hxml
   Note: this requires the 'gm2d' and 'format' libraries, which can be installed with:
     haxelib install gm2d
     haxelib install format
 3. Build the acadnme tool, this can be done with:
     cd acadnme
     neko ../nme.n build .

Would you like to do this now [y/n]y
Installing nme-toolkit...
You already have nme-toolkit version 6.3.3 installed
Building binaries...
Usage : neko build.n jsprime
  = build jsprime system
Usage : neko build.n [clean] [link-]target[-arch][-arch] ...] [-debug] [-verbose] [-D...]
  target  : ios, android, windows, linux, mac, mingw, tvos
            default (=current system)
  link    : ndll- or static-
            (none specified = both link types, mingw static only
  arch    : -armv5 -armv6 -armv7 -arm64 -x86 -x86_64 -m32 -m64
            (none specified = all valid architectures
  -D...   : defines passed to hxcpp build system
 eg: neko build.n clean ndll-mac-m32-m64 = rebuild both mac ndlls
 Specify target or 'default' to remove this message

Using default = windows

Build windows, link=lib arch=m64
haxelib run hxcpp ToolkitBuild.xml -Dwindows -DHXCPP_M64 -Dstatic_link

Build windows, link=lib arch=arm64
haxelib run hxcpp ToolkitBuild.xml -Dwindows -DHXCPP_ARM64 -Dstatic_link
C:\HaxeToolkit\haxe\lib\nme\git\project>setlocal enabledelayedexpansion
Warning: Could not find Visual Studio VsDevCmd
Missing HXCPP_VARS
Error: Could not automatically setup MSVC
#### Error building arm64
Called from Sys::$statics line 1
Called from RunMain::main line 118
Called from RunMain::showMessage line 33
Called from RunMain::setup line 47
Called from RunMain::buildBinaries line 61
Called from RunMain::run line 85
Uncaught exception - { __skipStack => 2, __previousException => null, __nativeException => ..., __exceptionMessage => Error running neko build.n, value => Error running neko build.n, __nativeStack => { skip => 1, stack => [[Sys::$statics,1],[RunMain::main,118],[RunMain::showMessage,33],[RunMain::setup,47],[RunMain::buildBinaries,61],[RunMain::run,85],[haxe.Exception::thrown,29],[haxe.ValueException::$init,17],null,[haxe.ValueException::new,24],null,[haxe.Exception::new,42]] } }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants