www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Nothing at all compiles with -m64 on Windows

reply Anonymouse <asdf asdf.net> writes:
Everything, even an empty void main, fails to compile in -m64 on 
this machine running Windows. -m32 works. dmd was installed with 
the .exe installer. It used to work and I forget what version of 
dmd I had, but then I upgraded to 2.086 and now it doesn't. I've 
tried reverting as far back as 2.079 but the behaviour persists.

void main() {}

 dmd -m64 main.d
libcmt.lib(utility_desktop.obj) : error LNK2019: unresolved external symbol __imp_RtlLookupFunctionEntry referenced in function __scrt_fastfail libvcruntime.lib(risctrnsctrl.obj) : error LNK2001: unresolved external symbol __imp_RtlLookupFunctionEntry libucrt.lib(invalid_parameter.obj) : error LNK2001: unresolved external symbol __imp_RtlLookupFunctionEntry libcmt.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_RtlLookupFunctionEntry libcmt.lib(utility_desktop.obj) : error LNK2019: unresolved external symbol __imp_RtlVirtualUnwind referenced in function __scrt_fastfail libucrt.lib(invalid_parameter.obj) : error LNK2001: unresolved external symbol __imp_RtlVirtualUnwind libcmt.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_RtlVirtualUnwind libvcruntime.lib(_riscchandler_.obj) : error LNK2019: unresolved external symbol __imp_RtlUnwindEx referenced in function __C_specific_handler libvcruntime.lib(risctrnsctrl.obj) : error LNK2001: unresolved external symbol __imp_RtlUnwindEx libvcruntime.lib(throw.obj) : error LNK2019: unresolved external symbol __imp_RtlPcToFileHeader referenced in function _CxxThrowException main.exe : fatal error LNK1120: 4 unresolved externals Error: linker exited with status 1120
  adam_d_ruppe | looks like it didnt include the normal crt
 alphaglosined | think so?
  adam_d_ruppe | well wait that IS the normal crt referencing 
 something else
  adam_d_ruppe | weird
 alphaglosined | yeah
Obviously something is wrong with the environment/setup. What can I do?
May 07 2019
parent reply Ron Tarrant <rontarrant gmail.com> writes:
On Tuesday, 7 May 2019 at 14:50:17 UTC, Anonymouse wrote:

 Obviously something is wrong with the environment/setup. What 
 can I do?
I've had this happen, too. I don't know for sure, but I think it may be because the installers aren't prepared to do updates, not on Windows, anyway. My best success for updating has been to scrape D completely off my drive (ie. uninstall DMC and DMD using Control Panel > Programs and Features) then reinstall from scratch. If I may be so bold, I wrote out the install instructions in the first instalment of my blog. And, of course, if you're interested, you could carry on and get GtkD up and running, too. Here's the blog entry: http://gtkdcoding.com/2019/01/11/0000-introduction-to-gtkDcoding.html and scroll down to: "Installation of the Development Environment." Hope this helps.
May 07 2019
parent reply Anonymouse <asdf asdf.net> writes:
On Tuesday, 7 May 2019 at 17:33:22 UTC, Ron Tarrant wrote:
 I've had this happen, too. I don't know for sure, but I think 
 it may be because the installers aren't prepared to do updates, 
 not on Windows, anyway.

 My best success for updating has been to scrape D completely 
 off my drive (ie. uninstall DMC and DMD using Control Panel > 
 Programs and Features) then reinstall from scratch.
I only had DMD installed, but I uninstalled it and reinstalled to no effect. Removing Visual Studio 2017 did fix it though, which is both a relief and to some dismay.
May 11 2019
next sibling parent user1234 <user1234 12.de> writes:
On Saturday, 11 May 2019 at 09:59:25 UTC, Anonymouse wrote:
 On Tuesday, 7 May 2019 at 17:33:22 UTC, Ron Tarrant wrote:
 I've had this happen, too. I don't know for sure, but I think 
 it may be because the installers aren't prepared to do 
 updates, not on Windows, anyway.

 My best success for updating has been to scrape D completely 
 off my drive (ie. uninstall DMC and DMD using Control Panel > 
 Programs and Features) then reinstall from scratch.
I only had DMD installed, but I uninstalled it and reinstalled to no effect. Removing Visual Studio 2017 did fix it though, which is both a
This is because -m64 work in two ways un der win. Either with MS stuff or MinGW+LLD-link. If after removing VS it worked then this indicate that building with MS stuff is broken (but MinGW+LLD is fine). It's maybe a bug due to the fact that -m64 is the default now.
 relief and to some dismay.
May 11 2019
prev sibling parent Andre Pany <andre s-e-a-p.de> writes:
On Saturday, 11 May 2019 at 09:59:25 UTC, Anonymouse wrote:
 On Tuesday, 7 May 2019 at 17:33:22 UTC, Ron Tarrant wrote:
 I've had this happen, too. I don't know for sure, but I think 
 it may be because the installers aren't prepared to do 
 updates, not on Windows, anyway.

 My best success for updating has been to scrape D completely 
 off my drive (ie. uninstall DMC and DMD using Control Panel > 
 Programs and Features) then reinstall from scratch.
I only had DMD installed, but I uninstalled it and reinstalled to no effect. Removing Visual Studio 2017 did fix it though, which is both a relief and to some dismay.
I had the same issue and the same solution. Please find here an explanation https://forum.dlang.org/post/q3e6c9$n1b$1 digitalmars.com Kind regards Andre
May 11 2019