I'm trying to compile a Perl source and I can't seem to find a version of nmake that works with Windows 7 64 bit. I've searched all over Microsoft's website and my Googlefu seems to be failing me. Can I use a different compiler- if so suggestions/resources? I'm a native Linux user so pardon my ignorance

up vote 22 down vote accepted

NMake is part of Microsoft's build tools for building C++ projects. You can get nmake as well as the MSVC++ compiler by downloading Visual C++ Express. Visual C++ Express runs perfectly fine on Windows 7.

  • Isn't there a standalone nmake to download instead of installing the whole VC Express? – Pacerier Aug 3 '16 at 20:30
  • No, there is not a standalone download. NMake is part of Microsoft's build toolchain. Visual C++ Express (or Visual Studio Community) is just an easy way to get those tools. As others have mentioned you can also get it from the Windows SDK. – heavyd Aug 3 '16 at 23:17

To get the 64 bit version of nmake (for Windows 7) you can also install the Windows SDK. It will install nmake.exe to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin on Windows 7 without prompting for an alternate directory.

  • 1
    This answer is a few years old, but I just installed the latest Windows SDK and do not have that directory. The closest I have is: C:\Program Files (x86)\Microsoft Visual Studio 8\VC which contains vcpackages which contains a few dlls. – Blink Aug 2 '16 at 13:15
  • Maybe it comes with Visual Studio, not with Windows SDK as I find indeed nmkae in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin(14.0 stands for VS 2015) – Liviu Apr 5 '17 at 13:56
  • By contrary, there is no nmakein the SDK folders: C:\Program Files (x86)\Windows Kits\10 – Liviu Apr 5 '17 at 13:59

A version of nmake which is compatible with Windows 7 also comes with xampp: http://www.apachefriends.org/en/xampp-windows.html Or you can try here: http://johnbokma.com/perl/make-for-windows.html

The x64 version of nmake.exe is located in the VC\bin\amd64 subdirectory. The 32-bit version of nmake.exe is located in VC\bin.

If you open up the Visual Studio x64 Command Prompt

VS2013 x64 Native Tools Command Prompt

the paths should be set up to find the x64 versions of tools. You can also type "where nmake.exe" to find the version you are looking for.

  • 1
    upvoted - in 'Visual Studio Community 2015': \Microsoft Visual Studio 14.0\VC\bin\amd64\nmake.exe for x64 – bshea Jan 5 '17 at 1:28

To have native tools as nmake 64 bit on Visual Studio Express or 2013 Visual Build 2013 and for Visual Studio 64 bit 2008 cross tools command promt as well.

Download 2013 Visual Studio Ultimate update 5 DVD or Web Installer: https://www.visualstudio.com/vs/older-downloads/

Install only C++ Foundation edition from this installer with custom installing.

Also remember to use withing visual command; vcvars64.bat in 12/VC/BIN/amd64 to inintialize the PATH= function, if you use, to see if you have it, try to use in Visual 64 bit tools command this command;

where nmake.exe

If this command does not find nmake.exe and you still have it in amd64 folder. Run this command; in folder Microsoft Visual Studio 12.0 for Micros~1.0. Depenidng on if VC12 was installed first, then Micros~1.0 can be 2.0.

C:\progra~2\Micros~1.0\VC\vcvarsall amd64

Having a hard use, make a .bat file for each time loading in windows\ for own fast start. You have to use cd.. , to run a .bat not in system32.

Nmake doesn't come natively in Windows 10, but you could include it without installing the complete Visual Studio by installing Microsoft Visual C++ Build Tools.

when complete, navigate to this folder to find Nmake binaries C:\Program Files (x86)\Microsoft Visual Studio x.0\VC\bin

Finally, add it to windows path in control panel.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.