Open GoogleCodeExporter opened 9 years ago
This will take me some time to reproduce since I don't have Visual Studio
installed. Does dmd 64-bit even work yet in Windows?
Original comment by kingshiz...@gmail.com
on 11 Jun 2011 at 10:52
I'm wrong. There was something wrong with generated modules since both files
were 32-bit. They were proper PE files before, and today I've rebuilt tests
again. Today none of them is recognized as PE file.
Original comment by s6...@pjwstk.edu.pl
on 12 Jun 2011 at 9:55
So it works?
Original comment by jens.k.mueller@gmail.com
on 24 Nov 2011 at 8:18
No, error is still on. I was just wrong in conclusion.
I'm sorry about this confusion. I was in hurry(i'm currently programming for
linux, and this windows thing was out of curiosity), and now when you reminded
me about it, i probably know what is going on here.
Firstly, I'm on windows x64 but i compile x86.
The problem is:
* microsoft compiler is using COFF .obj format
* DMD is compiling like DMC, to Intel OMF .obj format
- This two formats are generally incompatible (you can't expect CMakeD user
will have necessary tools for this)
So... options are:
* compile both to OMF (compile .c file via DMC, or another non-microsoft
compiler)
* ok, you can't compile D code to COFF, but you can use Digital Mars COFF2OMF
(which is paid and closed source), OR another inventions like UNILINK
Going back to context of CMakeD... if user is willing to build static library,
dmc is an option for C/C++ files, because it's shipped in one package with dmd.
If user doesn't care about static library, just build C module as shared one
(.dll). He might care about compiler more, because if he chose MSVC generator,
he probably would like to compile his C/C++ code with Microsoft compiler, and
it's only possible when using shared lib.
I don't know other solutions (besides of implementing COFF to D compiler).
Original comment by alienbal...@gmail.com
on 25 Nov 2011 at 1:53
Original issue reported on code.google.com by
alienbal...@gmail.com
on 10 Jun 2011 at 4:48