Thread overview | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Attachments:
| I might just add, that if you have Visual Studio installed (which I presume many Windows dev's do), then you don't need to do ANYTHING. DMD64 just works if VS is present. I didn't do a single thing to get DMD-Win64 working. And it's working great. You should make sure this is clear at the top of any wiki entry. Perhaps a future push to convince Walter to port DMD-Win32 to COFF/WinSDK aswell might be nice ;) Win32 is still an important platform for many (most?) users. On 18 December 2012 23:32, Gor Gyolchanyan <gor.f.gyolchanyan@gmail.com>wrote: > Good day, fellow D developers. > After spending much time figuring out how to make DMD work fluently under > 64-bit Windows 7 I've realized that this is not a trivial task and lots of > people might have trouble with this, so I've decided to post my solution, > that might save people a lot of time. > As we know, there are compatibility problems with 32-bit DMD binaries, > because they are compiled using DMC back-end, which can only produce OMF > binaries, so in order to avoid problems with linking against externally > compiled libraries, it's much easier to stick to 64-bit binaries, so that > DMD will use the Visual Studio linker to produce compatible COFF binaries. > Another problem is that 32-bit DMD binaries are linked against obsolete > 32-bit WinAPI libraries, which lack some very important functions, while > the 64-bit binaries are required to link with the 64-bit libraries, > supplied by the the Windows SDK. > > And here's how this could be arranged: > > 1. Prepare your development folder. > 1.1. Create a folder with no spaces in its full path. > 1.2. Store its full path in the '%DEV_DIR_ROOT%' environment variable. > 2. Get the Windows SDK. > 2.1. Download the Windows SDK. > 2.1.1. Navigate to ' > http://msdn.microsoft.com/en-US/windows//bb980924.aspx' in a web browser. > 2.1.2. Under section 2 (number '2' in a green circle) click on the bold > blue 'Install Now' link. > 2.1.3. In the opened window click in the blue 'Download' button at the > bottom of the page. > 2.1.4. Make sure, that the Windows SDK installer ('winsdk_web.exe') is > downloaded. > 2.2. Install the downloaded Windows SDK. > 2.2.1. Navigate to the folder, where the Windows SDK installer was > downloaded in a file browser. > 2.2.2. Double-click on the installer and agree to security warnings to > launch it. > 2.2.3. Click next, read and agree to the license until you reach the > 'Install Locations' screen. > 2.2.4. Store the path under 'Destination Folder for Tools' in the > '%DEV_DIR_MSWINSDK%' (e.g. 'C:\Program Files (x86)\Microsoft > SDKs\Windows\v7.0A') and click 'Next >'. > 2.3.3. On the 'Installation Options' uncheck everything except 'x64 > Libraries' and 'Visual C++ Compilers' and click 'Next >'. > 2.3.4. Confirm that everything is correct and click 'Next >' to start > installing. > 2.3.5. Make sure, tata the installation is completed succesfully. > 2.3.6. Store the path to the installed Visual Studio C++ compiler into > the '%DEV_DIR_MSVC%' environment variable (e.g. 'C:\Program Files > (x86)\Microsoft Visual Studio 10.0\VC'). > 3. Get the DMD. > 3.1. Navigate to 'http://ftp.digitalmars.com/dmd2beta.zip' in a web > browser. > 3.2. Make sure, that the DMD compiler archive ('dmd2beta.zip') is > downloaded. > 3.3. Unzip the archive into '%DEV_DIR_ROOT%\Tools', so that the 'dmd2' > folder in the archive will end up in '%DEV_DIR_ROOT%\Tools\dmd2'. > 3.4. Adapt the compiler configuration to the development environment. > 3.4.1. Open the file '%DEV_DIR_ROOT%\Tools\dmd2\windows\bin\sc.ini' in a > text editor. > 3.4.2. Replace the line with 'LIB=' with the line > 'LIB="%DEV_DIR_WINSDK%\Lib\x64";"%DEV_DIR_MSVC%\lib\amd64";"%@P%\..\lib"'. > 3.4.3. Add '-m64 -L/NOLOGO' to the 'DFLAGS' variable. > 3.4.4. Remove the lines with 'VCINSTALLDIR=' and 'WindowsSdkDir='. > 3.4.5. Replace the like with 'LINKCMD64=' with the line > 'LINKCMD64="%DEV_DIR_MSVC%\bin\amd64\link.exe"' > Now "%DEV_DIR_ROOT%\Tools\dmd2\windows\bin\dmd.exe" will always use the > Windows SDK libraries and Visual C++ compiler to produce 64-bit COFF > binaries. > > I hope I was helpful, because when I started to set up a development environment under 64-bit Windows 7, I went through a lot of problems to get here and I'd love to have this HOWTO at that time. > > -- > Bye, > Gor Gyolchanyan. > |
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup the Environment Variables used in sc.ini. But the most annoying part is that using the Win8 SDK causes the linker to spit out dozens of external symbol resolution failures. It was at this point that I gave up. > I might just add, that if you have Visual Studio installed (which I > presume many Windows dev's do), then you don't need to do ANYTHING. > DMD64 just works if VS is present. > > I didn't do a single thing to get DMD-Win64 working. And it's working great. > > You should make sure this is clear at the top of any wiki entry. > > Perhaps a future push to convince Walter to port DMD-Win32 to COFF/WinSDK > aswell might be nice ;) > Win32 is still an important platform for many (most?) users. > > > On 18 December 2012 23:32, Gor Gyolchanyan <gor.f.gyolchanyan@gmail.com>wrote: > >> Good day, fellow D developers. >> After spending much time figuring out how to make DMD work fluently under >> 64-bit Windows 7 I've realized that this is not a trivial task and lots of >> people might have trouble with this, so I've decided to post my solution, >> that might save people a lot of time. >> As we know, there are compatibility problems with 32-bit DMD binaries, >> because they are compiled using DMC back-end, which can only produce OMF >> binaries, so in order to avoid problems with linking against externally >> compiled libraries, it's much easier to stick to 64-bit binaries, so that >> DMD will use the Visual Studio linker to produce compatible COFF binaries. >> Another problem is that 32-bit DMD binaries are linked against obsolete >> 32-bit WinAPI libraries, which lack some very important functions, while >> the 64-bit binaries are required to link with the 64-bit libraries, >> supplied by the the Windows SDK. >> >> And here's how this could be arranged: >> >> 1. Prepare your development folder. >> 1.1. Create a folder with no spaces in its full path. >> 1.2. Store its full path in the '%DEV_DIR_ROOT%' environment variable. >> 2. Get the Windows SDK. >> 2.1. Download the Windows SDK. >> 2.1.1. Navigate to ' >> http://msdn.microsoft.com/en-US/windows//bb980924.aspx' in a web browser. >> 2.1.2. Under section 2 (number '2' in a green circle) click on the bold >> blue 'Install Now' link. >> 2.1.3. In the opened window click in the blue 'Download' button at the >> bottom of the page. >> 2.1.4. Make sure, that the Windows SDK installer ('winsdk_web.exe') is >> downloaded. >> 2.2. Install the downloaded Windows SDK. >> 2.2.1. Navigate to the folder, where the Windows SDK installer was >> downloaded in a file browser. >> 2.2.2. Double-click on the installer and agree to security warnings to >> launch it. >> 2.2.3. Click next, read and agree to the license until you reach the >> 'Install Locations' screen. >> 2.2.4. Store the path under 'Destination Folder for Tools' in the >> '%DEV_DIR_MSWINSDK%' (e.g. 'C:\Program Files (x86)\Microsoft >> SDKs\Windows\v7.0A') and click 'Next >'. >> 2.3.3. On the 'Installation Options' uncheck everything except 'x64 >> Libraries' and 'Visual C++ Compilers' and click 'Next >'. >> 2.3.4. Confirm that everything is correct and click 'Next >' to start >> installing. >> 2.3.5. Make sure, tata the installation is completed succesfully. >> 2.3.6. Store the path to the installed Visual Studio C++ compiler into >> the '%DEV_DIR_MSVC%' environment variable (e.g. 'C:\Program Files >> (x86)\Microsoft Visual Studio 10.0\VC'). >> 3. Get the DMD. >> 3.1. Navigate to 'http://ftp.digitalmars.com/dmd2beta.zip' in a web >> browser. >> 3.2. Make sure, that the DMD compiler archive ('dmd2beta.zip') is >> downloaded. >> 3.3. Unzip the archive into '%DEV_DIR_ROOT%\Tools', so that the 'dmd2' >> folder in the archive will end up in '%DEV_DIR_ROOT%\Tools\dmd2'. >> 3.4. Adapt the compiler configuration to the development environment. >> 3.4.1. Open the file '%DEV_DIR_ROOT%\Tools\dmd2\windows\bin\sc.ini' in a >> text editor. >> 3.4.2. Replace the line with 'LIB=' with the line >> 'LIB="%DEV_DIR_WINSDK%\Lib\x64";"%DEV_DIR_MSVC%\lib\amd64";"%@P%\..\lib"'. >> 3.4.3. Add '-m64 -L/NOLOGO' to the 'DFLAGS' variable. >> 3.4.4. Remove the lines with 'VCINSTALLDIR=' and 'WindowsSdkDir='. >> 3.4.5. Replace the like with 'LINKCMD64=' with the line >> 'LINKCMD64="%DEV_DIR_MSVC%\bin\amd64\link.exe"' >> Now "%DEV_DIR_ROOT%\Tools\dmd2\windows\bin\dmd.exe" will always use the >> Windows SDK libraries and Visual C++ compiler to produce 64-bit COFF >> binaries. >> >> I hope I was helpful, because when I started to set up a development >> environment under 64-bit Windows 7, I went through a lot of problems to get >> here and I'd love to have this HOWTO at that time. >> >> -- >> Bye, >> Gor Gyolchanyan. >> -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/ |
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | On 5/25/2013 10:03 PM, Adam Wilson wrote:
> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote:
>
> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The
> Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup the
> Environment Variables used in sc.ini.
>
> But the most annoying part is that using the Win8 SDK causes the linker to spit
> out dozens of external symbol resolution failures. It was at this point that I
> gave up.
Microsoft linker changing constantly and breaking things was why Zortech decided to do their own linker back in the 80's.
BTW, nothing will get fixed if you don't file bugzilla reports!
|
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | Am 26.05.2013 07:03, schrieb Adam Wilson:
> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote:
>
> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install.
> The Windows 8 SDK no longer includes the C++ compilers and VS2012
> doesn't setup the Environment Variables used in sc.ini.
>
You can get them via the Desktop Express version, the one they added back after peer pressure.
|
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson Attachments:
| On 26 May 2013 15:03, Adam Wilson <flyboynw@gmail.com> wrote: > On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: > > FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup the Environment Variables used in sc.ini. > Ah wow, sorry! I had no idea! I tent to lag 2-3 revisions behind the head of VS (finally using 2010) ;) They seem to make every version worse! But the most annoying part is that using the Win8 SDK causes the linker to > spit out dozens of external symbol resolution failures. It was at this point that I gave up. > > I might just add, that if you have Visual Studio installed (which I >> presume many Windows dev's do), then you don't need to do ANYTHING. DMD64 just works if VS is present. >> >> I didn't do a single thing to get DMD-Win64 working. And it's working great. >> >> You should make sure this is clear at the top of any wiki entry. >> >> Perhaps a future push to convince Walter to port DMD-Win32 to COFF/WinSDK >> aswell might be nice ;) >> Win32 is still an important platform for many (most?) users. >> >> >> On 18 December 2012 23:32, Gor Gyolchanyan <gor.f.gyolchanyan@gmail.com>* *wrote: >> >> Good day, fellow D developers. >>> After spending much time figuring out how to make DMD work fluently under >>> 64-bit Windows 7 I've realized that this is not a trivial task and lots >>> of >>> people might have trouble with this, so I've decided to post my solution, >>> that might save people a lot of time. >>> As we know, there are compatibility problems with 32-bit DMD binaries, >>> because they are compiled using DMC back-end, which can only produce OMF >>> binaries, so in order to avoid problems with linking against externally >>> compiled libraries, it's much easier to stick to 64-bit binaries, so that >>> DMD will use the Visual Studio linker to produce compatible COFF >>> binaries. >>> Another problem is that 32-bit DMD binaries are linked against obsolete >>> 32-bit WinAPI libraries, which lack some very important functions, while >>> the 64-bit binaries are required to link with the 64-bit libraries, >>> supplied by the the Windows SDK. >>> >>> And here's how this could be arranged: >>> >>> 1. Prepare your development folder. >>> 1.1. Create a folder with no spaces in its full path. >>> 1.2. Store its full path in the '%DEV_DIR_ROOT%' environment variable. >>> 2. Get the Windows SDK. >>> 2.1. Download the Windows SDK. >>> 2.1.1. Navigate to ' >>> http://msdn.microsoft.com/en-**US/windows//bb980924.aspx<http://msdn.microsoft.com/en-US/windows//bb980924.aspx>' >>> in a web browser. >>> 2.1.2. Under section 2 (number '2' in a green circle) click on the bold >>> blue 'Install Now' link. >>> 2.1.3. In the opened window click in the blue 'Download' button at the >>> bottom of the page. >>> 2.1.4. Make sure, that the Windows SDK installer ('winsdk_web.exe') is >>> downloaded. >>> 2.2. Install the downloaded Windows SDK. >>> 2.2.1. Navigate to the folder, where the Windows SDK installer was >>> downloaded in a file browser. >>> 2.2.2. Double-click on the installer and agree to security warnings to >>> launch it. >>> 2.2.3. Click next, read and agree to the license until you reach the >>> 'Install Locations' screen. >>> 2.2.4. Store the path under 'Destination Folder for Tools' in the >>> '%DEV_DIR_MSWINSDK%' (e.g. 'C:\Program Files (x86)\Microsoft >>> SDKs\Windows\v7.0A') and click 'Next >'. >>> 2.3.3. On the 'Installation Options' uncheck everything except 'x64 >>> Libraries' and 'Visual C++ Compilers' and click 'Next >'. >>> 2.3.4. Confirm that everything is correct and click 'Next >' to start >>> installing. >>> 2.3.5. Make sure, tata the installation is completed succesfully. >>> 2.3.6. Store the path to the installed Visual Studio C++ compiler into >>> the '%DEV_DIR_MSVC%' environment variable (e.g. 'C:\Program Files >>> (x86)\Microsoft Visual Studio 10.0\VC'). >>> 3. Get the DMD. >>> 3.1. Navigate to 'http://ftp.digitalmars.com/**dmd2beta.zip<http://ftp.digitalmars.com/dmd2beta.zip>' >>> in a web >>> browser. >>> 3.2. Make sure, that the DMD compiler archive ('dmd2beta.zip') is >>> downloaded. >>> 3.3. Unzip the archive into '%DEV_DIR_ROOT%\Tools', so that the 'dmd2' >>> folder in the archive will end up in '%DEV_DIR_ROOT%\Tools\dmd2'. >>> 3.4. Adapt the compiler configuration to the development environment. >>> 3.4.1. Open the file '%DEV_DIR_ROOT%\Tools\dmd2\**windows\bin\sc.ini' >>> in a >>> text editor. >>> 3.4.2. Replace the line with 'LIB=' with the line >>> 'LIB="%DEV_DIR_WINSDK%\Lib\**x64";"%DEV_DIR_MSVC%\lib\** >>> amd64";"%@P%\..\lib"'. >>> 3.4.3. Add '-m64 -L/NOLOGO' to the 'DFLAGS' variable. >>> 3.4.4. Remove the lines with 'VCINSTALLDIR=' and 'WindowsSdkDir='. >>> 3.4.5. Replace the like with 'LINKCMD64=' with the line >>> 'LINKCMD64="%DEV_DIR_MSVC%\**bin\amd64\link.exe"' >>> Now "%DEV_DIR_ROOT%\Tools\dmd2\**windows\bin\dmd.exe" will always use >>> the >>> Windows SDK libraries and Visual C++ compiler to produce 64-bit COFF >>> binaries. >>> >>> I hope I was helpful, because when I started to set up a development >>> environment under 64-bit Windows 7, I went through a lot of problems to >>> get >>> here and I'd love to have this HOWTO at that time. >>> >>> -- >>> Bye, >>> Gor Gyolchanyan. >>> >>> > > -- > Adam Wilson > IRC: LightBender > Project Coordinator > The Horizon Project > http://www.thehorizonproject.**org/ <http://www.thehorizonproject.org/> > |
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sun, 26 May 2013 00:41:46 -0700, Walter Bright <newshound2@digitalmars.com> wrote: > On 5/25/2013 10:03 PM, Adam Wilson wrote: >> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: >> >> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The >> Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup the >> Environment Variables used in sc.ini. >> >> But the most annoying part is that using the Win8 SDK causes the linker to spit >> out dozens of external symbol resolution failures. It was at this point that I >> gave up. > > Microsoft linker changing constantly and breaking things was why Zortech decided to do their own linker back in the 80's. > > > BTW, nothing will get fixed if you don't file bugzilla reports! > Well, I wasn't sure if it was the linker or the libraries, because I also go some weird corrupt file errors with shell32 for example... -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/ |
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | On Sun, 26 May 2013 07:12:32 -0700, Paulo Pinto <pjmlp@progtools.org> wrote: > Am 26.05.2013 07:03, schrieb Adam Wilson: >> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: >> >> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. >> The Windows 8 SDK no longer includes the C++ compilers and VS2012 >> doesn't setup the Environment Variables used in sc.ini. >> > > You can get them via the Desktop Express version, the one they added back after peer pressure. > Indeed. I have VS2012 Premium, but it does mean that you have to repath your environment variables to the Visual Studio folders instead of the Windows SDK folders and that you need to have VS installed. -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/ |
May 26, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On Sun, 26 May 2013 16:22:54 -0700, Manu <turkeyman@gmail.com> wrote: > On 26 May 2013 15:03, Adam Wilson <flyboynw@gmail.com> wrote: > >> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: >> >> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The >> Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup >> the Environment Variables used in sc.ini. >> > > Ah wow, sorry! I had no idea! > I tent to lag 2-3 revisions behind the head of VS (finally using 2010) ;) > They seem to make every version worse! > Indeed. Some days I wonder if they actually care anymore. >> But the most annoying part is that using the Win8 SDK causes the linker to >> spit out dozens of external symbol resolution failures. It was at this >> point that I gave up. >> >> I might just add, that if you have Visual Studio installed (which I >>> presume many Windows dev's do), then you don't need to do ANYTHING. >>> DMD64 just works if VS is present. >>> >>> I didn't do a single thing to get DMD-Win64 working. And it's working >>> great. >>> >>> You should make sure this is clear at the top of any wiki entry. >>> >>> Perhaps a future push to convince Walter to port DMD-Win32 to COFF/WinSDK >>> aswell might be nice ;) >>> Win32 is still an important platform for many (most?) users. >>> >>> >>> On 18 December 2012 23:32, Gor Gyolchanyan <gor.f.gyolchanyan@gmail.com>* >>> *wrote: >>> >>> Good day, fellow D developers. >>>> After spending much time figuring out how to make DMD work fluently under >>>> 64-bit Windows 7 I've realized that this is not a trivial task and lots >>>> of >>>> people might have trouble with this, so I've decided to post my solution, >>>> that might save people a lot of time. >>>> As we know, there are compatibility problems with 32-bit DMD binaries, >>>> because they are compiled using DMC back-end, which can only produce OMF >>>> binaries, so in order to avoid problems with linking against externally >>>> compiled libraries, it's much easier to stick to 64-bit binaries, so that >>>> DMD will use the Visual Studio linker to produce compatible COFF >>>> binaries. >>>> Another problem is that 32-bit DMD binaries are linked against obsolete >>>> 32-bit WinAPI libraries, which lack some very important functions, while >>>> the 64-bit binaries are required to link with the 64-bit libraries, >>>> supplied by the the Windows SDK. >>>> >>>> And here's how this could be arranged: >>>> >>>> 1. Prepare your development folder. >>>> 1.1. Create a folder with no spaces in its full path. >>>> 1.2. Store its full path in the '%DEV_DIR_ROOT%' environment variable. >>>> 2. Get the Windows SDK. >>>> 2.1. Download the Windows SDK. >>>> 2.1.1. Navigate to ' >>>> http://msdn.microsoft.com/en-**US/windows//bb980924.aspx<http://msdn.microsoft.com/en-US/windows//bb980924.aspx>' >>>> in a web browser. >>>> 2.1.2. Under section 2 (number '2' in a green circle) click on the bold >>>> blue 'Install Now' link. >>>> 2.1.3. In the opened window click in the blue 'Download' button at the >>>> bottom of the page. >>>> 2.1.4. Make sure, that the Windows SDK installer ('winsdk_web.exe') is >>>> downloaded. >>>> 2.2. Install the downloaded Windows SDK. >>>> 2.2.1. Navigate to the folder, where the Windows SDK installer was >>>> downloaded in a file browser. >>>> 2.2.2. Double-click on the installer and agree to security warnings to >>>> launch it. >>>> 2.2.3. Click next, read and agree to the license until you reach the >>>> 'Install Locations' screen. >>>> 2.2.4. Store the path under 'Destination Folder for Tools' in the >>>> '%DEV_DIR_MSWINSDK%' (e.g. 'C:\Program Files (x86)\Microsoft >>>> SDKs\Windows\v7.0A') and click 'Next >'. >>>> 2.3.3. On the 'Installation Options' uncheck everything except 'x64 >>>> Libraries' and 'Visual C++ Compilers' and click 'Next >'. >>>> 2.3.4. Confirm that everything is correct and click 'Next >' to start >>>> installing. >>>> 2.3.5. Make sure, tata the installation is completed succesfully. >>>> 2.3.6. Store the path to the installed Visual Studio C++ compiler into >>>> the '%DEV_DIR_MSVC%' environment variable (e.g. 'C:\Program Files >>>> (x86)\Microsoft Visual Studio 10.0\VC'). >>>> 3. Get the DMD. >>>> 3.1. Navigate to 'http://ftp.digitalmars.com/**dmd2beta.zip<http://ftp.digitalmars.com/dmd2beta.zip>' >>>> in a web >>>> browser. >>>> 3.2. Make sure, that the DMD compiler archive ('dmd2beta.zip') is >>>> downloaded. >>>> 3.3. Unzip the archive into '%DEV_DIR_ROOT%\Tools', so that the 'dmd2' >>>> folder in the archive will end up in '%DEV_DIR_ROOT%\Tools\dmd2'. >>>> 3.4. Adapt the compiler configuration to the development environment. >>>> 3.4.1. Open the file '%DEV_DIR_ROOT%\Tools\dmd2\**windows\bin\sc.ini' >>>> in a >>>> text editor. >>>> 3.4.2. Replace the line with 'LIB=' with the line >>>> 'LIB="%DEV_DIR_WINSDK%\Lib\**x64";"%DEV_DIR_MSVC%\lib\** >>>> amd64";"%@P%\..\lib"'. >>>> 3.4.3. Add '-m64 -L/NOLOGO' to the 'DFLAGS' variable. >>>> 3.4.4. Remove the lines with 'VCINSTALLDIR=' and 'WindowsSdkDir='. >>>> 3.4.5. Replace the like with 'LINKCMD64=' with the line >>>> 'LINKCMD64="%DEV_DIR_MSVC%\**bin\amd64\link.exe"' >>>> Now "%DEV_DIR_ROOT%\Tools\dmd2\**windows\bin\dmd.exe" will always use >>>> the >>>> Windows SDK libraries and Visual C++ compiler to produce 64-bit COFF >>>> binaries. >>>> >>>> I hope I was helpful, because when I started to set up a development >>>> environment under 64-bit Windows 7, I went through a lot of problems to >>>> get >>>> here and I'd love to have this HOWTO at that time. >>>> >>>> -- >>>> Bye, >>>> Gor Gyolchanyan. >>>> >>>> >> >> -- >> Adam Wilson >> IRC: LightBender >> Project Coordinator >> The Horizon Project >> http://www.thehorizonproject.**org/ <http://www.thehorizonproject.org/> >> -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/ |
May 27, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | On Sunday, 26 May 2013 at 23:33:56 UTC, Adam Wilson wrote: > On Sun, 26 May 2013 16:22:54 -0700, Manu <turkeyman@gmail.com> wrote: > >> On 26 May 2013 15:03, Adam Wilson <flyboynw@gmail.com> wrote: >> >>> On Sat, 25 May 2013 18:24:41 -0700, Manu <turkeyman@gmail.com> wrote: >>> >>> FYI. DMD did not work out-of-the-box on a vanilla VS2012/Win8 install. The >>> Windows 8 SDK no longer includes the C++ compilers and VS2012 doesn't setup >>> the Environment Variables used in sc.ini. >>> >> >> Ah wow, sorry! I had no idea! >> I tent to lag 2-3 revisions behind the head of VS (finally using 2010) ;) >> They seem to make every version worse! >> > > Indeed. Some days I wonder if they actually care anymore. > Well they really try hard to piss off developers. The last issue is the announcement that VS 2012 update 3 is the last one and developers will need to buy VS.Next for the remaining C++11 updates and the by side updates are actually not going to happen. http://blogs.msdn.com/b/bharry/archive/2013/05/08/some-thoughts-on-a-comment-about-vs-2012-3.aspx |
June 01, 2013 Re: DMD under 64-bit Windows 7 HOWTO | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On Sunday, 26 May 2013 at 01:24:51 UTC, Manu wrote: > I might just add, that if you have Visual Studio installed (which I > presume many Windows dev's do), then you don't need to do ANYTHING. > DMD64 just works if VS is present. > > I didn't do a single thing to get DMD-Win64 working. And it's working great. I just set up an environment on Win 7 x64 using the Windows SDK version 7.1 without Visual Studio. Using the DOS prompt that comes with the Windows SDK, which initializes various build variables, to compile to 64-bit COFF with dmd and link to a COFF64 C static library, the only thing I had to do was set a VCINSTALLDIR environment variable (set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\), so that dmd could find the 64-bit linker, link.exe. Other than that, all you need to do is install the Windows SDK 7.1, which comes with the compiler, linker, and various build tools. I had read that the latest Windows SDK, 8.0, does not come with the compiler and other build tools, though perhaps that has changed since, I haven't checked recently. > You should make sure this is clear at the top of any wiki entry. > > Perhaps a future push to convince Walter to port DMD-Win32 to COFF/WinSDK > aswell might be nice ;) > Win32 is still an important platform for many (most?) users. I agree. I wonder how much more work COFF32 would be, ie why it wasn't done in the first place. I was surprised when I started using D on Windows how painful the OMF/COFF situation was, especially since Windows support has long been pointed at as a strength for D. Great work to make it this easy on Win64, :) COFF32 would push D the rest of the way. |
Copyright © 1999-2021 by the D Language Foundation