Visual C++ 2008 Express Edition And 64-Bit Targets

12Feb09

There are a lot of posts around the topic how to compile for Windows 64-Bit with the VC2008 Express editions. The documentation is weak here and you find a lot of posts with questions around this topics. As I could not find any solution around this I started digging a bit deeper into the problem, to see what went wrong and how to fix it. Not sure if Microsoft officially supports this or prevents this intentionally, but there is a way to get a clean configuration with preserving all the nice things Visual Studio offers. Unfortunately it requires modifying the registry and copying some files. Hopefully Microsoft comes up with something better in the next version. While the full version of Visual Studio works flawless and as documented I struggled a couple of evenings to get it running with the Express version. Here are the details (I recommend reading first the full article before you try the modifications):

The Documentation

The basic instructions how to enable 64-Bit targets are here: http://msdn.microsoft.com/en-us/library/ms185328.aspx. You start the configuration manager to create an x64 Target in addition to Win32. For the Express version you first need to install the Windows SDK (former Platform SDK) and configure VC to use the installed SDK instead of its own SDK. There are many instructions around how to do this. Now the documentation says: On the Build menu, click Configuration Manager. 1.In the Active solution platform list, select the 64-bit platform for the solution to target. If the platform does not exist in the list, select New. 2.In the New Solution Platform dialog box, select the 64-bit platform for the solution to target. Note: If you create a new name for your configuration, you may have to modify the settings in the Project Designer to target the correct platform. 3.If you want to copy the settings from a current platform configuration, select the platform configuration to copy settings from, and click OK. But the issue is: if you use the Express edition you don’t see the x64 option in step 2. It simply does not exist. Also if you open Tools/Options and then go to Projects and Solutions / VC++ Directories you will find under platform only Win32 and not x64 (as in the full version). Here ends the documentation and there is no information available where Visual Studio gets this information from and how a platform can be added. The Solution The next step is to find out where VStudio gets the available platforms from. Open the registry editor (regedit.exe) and navigate to [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC\VC_OBJECTS_PLATFORM_INFO\]. Below this key all the available platforms are listed. You should find here two subkeys Win32 and Win64 (AMD64). The SDK installer creates these keys if it detects a Visual Studio. This works fine for the full version. The problem is that the Express version does not get the information from this path, but all its configuration is located in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress]. So select VC_OBJECTS_PLATFORM_INFO in the registry editor and export this to a text file (.reg). Open this text file in a text editor (like Notepad) and replace all lines with brackets like this: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\VC\VC_OBJECTS_PLATFORM_INFO]to [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\VC\VC_OBJECTS_PLATFORM_INFO] Double click the modified file and confirm to update the registry. However we are not done yet. This information contains only a class id and this information is also in the registry and needs to get moved. Navigate to: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID\ There are 4 class ids meaningful for 64-Bit compilation (I am not 100% sure if you really need them all).

{656d8763-2429-11d7-8bf6-00b0d03daa06}{656d8760-2429-11d7-8bf6-00b0d03daa06}{656d8763-2429-11d7-8bf6-00b0d03daa06}
{656d875f-2429-11d7-8bf6-00b0d03daa06}

Repeat the steps from above for each of these class ids (select the id in the registry editor, export to a .reg file and change there all lines having the […]. Replace the string VisualStudio with VcExpress. Save the modified file, double click and import it to the registry.

For each available platform VStudio needs to get the correct directories where the compilers, headers and libs are. You can see those in Tools/Options and then go to Projects and Solutions / VC++ Directories. So where do they come from? It seems that VStudio scans the directory $(InstallDir)\VC\vcpackages (where install dir is the installation directory, e.g. c:\program files\Microsoft Visual Studio 9.0). It seems that all files containing the extension „.config“ are used to import the directories for the various platforms. These are readable xml files. The name of the file is not meaningful but in the xml part there is a GUID making the back reference which platform it describes. The SDK installer therefore copies the file named AMD64.VCPlatform.config containing the appropriate information to this directory. However there is another subtle difference (for whatever reason…) between Visual Studio and Visual Studio Express. Whereas the full version scans for files named .config the express version scans for files ending with .Express.config. Therefore rename the file from AMD64.VCPlatform.config to AMD64.VCPlatform.Express.config. Now open again Visual Studio (note that each change requires a restart of Visual Studio Express!) and check again the platforms in Tools/Options /Projects and Solutions / VC++ Directories. In the platform box you should now see two options (Win 32 and x64). Select x64 and check that there is a list of suitable directories in place. If x64 does not appear something went wrong in the first step. If x64 is available but the list of directories is empty something is wrong with the renaming of the .config file. If everything is fine you have the platform properly configured now and can proceed with the Configuration Manager to add the new platform to your project (for details see MSDN documentation about 64-Bit programming, link is above).

Note 1: Be aware that there exist two 64 bit compilers. One which is itself a 64 bit program and another one is a cross compiler running at 32-Bit but producing 64-bit object files. Be sure that you don’t take the wrong one (normally always the cross compiler is used).

Note 2: The same procedure should work with other platforms like IA64 for Itanium with of course different file names and GUIDs. The structure is the same, the DLL is named VCProjectIA64Platform.dll and the configuration file is Itanium.VCPlatform.Express.config. However I did not try this.

VC2008 Express installed on a 64-bit operating system

All instructions so far have been valid when Visual C++ is installed on a 32-Bit operating system. If it is installed on a 64-Bit operating system there are some more pitfalls (and presumably bugs in the SDK installer). At first there is a special branch in the registry for 32-Bit applications on 64-Bit operating system. So all paths in the registry mentioned above have to be changed from: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\ ...] to [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\…} The second change is an even more subtle bug: The 64-Bit C++ compiler exists in two flavors. One is a cross compiler running on 32-Bit (installed in …\VC\bin\x86_amd64) and the other is 64-Bit application (installed in …\VC\bin\amd64). If SDK installer detects a 64-Bit operating system it copies the 64-Bit version of the VCProjectAMD64Platform.dll to the …\VC\vcpackages directory. However this makes absolutely no sense since the VC200 Express is always (at the time of this writing) a 32-bit application. So you have to manually copy VCProjectAMD64Platform.dll from $($VCDIR)\VC\bin\x86_amd64 to ($VCDIR)\VC\vcpackages. $(VCDIR) means in this case the directory where your VC2008 is installed, e.g. c:\Program Files\Microsoft Visual Studio 9.0. There is no easy way to check whether you have the 32-Bit or the 64-Bit version of the DLL installed. Both have the same name and version. The easiest way to differentiate them is to look at the file size: The 32-Bit has 283KB the 64-Bit version has 370KB. Using VC2008Express on 64-Bit system has the advantage that you can debug your applications in the same environment where you compiled them.

Conclusion

I have no clue if this is a bug in the SDK installer or if this limitation is intended by Microsoft. To me it seems that someone made a decision like „Oh let’s separate Express version from full version completely by just taking a different branch in the registry“ But the impact of such a decision was a subtle change in the interface that no one has considered and/or was not very well communicated between the different teams. …like so often in software development. Yes the fix is nasty and changes in the registry like this are a bit dangerous too but once done it works really nice! Let’s hope that Microsoft fixes this in the next version of the SDK and gives us all the more and more important benefit of 64-Bit in the Express editions.

Addendum

Here is some additional information from reader contributions. Thanks to everyone who provided feedback and helped to improve this.

Missing VCProjectAMD64Platform.dll:

It seems that under some circumstances the 32-Bit version of this  DLL does not get installed if you are on a 64-Bit OS. So you won’t find it in $($VCDIR)\VC\bin\x86_amd64. In this case you either have to copy it from an installation on a 32-Bit OS or extract it from the SDK installer medium. The DLL is located in the ISO distribution’s \Setup dir in the vc_stdx86.cab. It starts with FL_VCProjectAMD64Platform…if you rename it to the proper name it should work. Thanks Dustin for this helpful hint!

Xia Wei provided a helpful script that automates this tweaking. I did not try this myself but after a couple of positive reader comments it’s definitely worth mentioning it here. Download is available here: http://suma.soulogic.com/dl/VCE64BIT.zip

Latest info from Xia:

Win7 SDK introduces 2 new bugs and they may cause this patch not to work, I describled them as well as workarounds here:
http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html

Updated patch for Win7 SDK:
http://www.cppblog.com/Files/xcpp/VCE64BIT_WIN7SDK.zip

About these ads


139 Responses to “Visual C++ 2008 Express Edition And 64-Bit Targets”

  1. 1 Greg Lyon

    Thank you. I was able to get it working.

    You might want to suggest reading the entire post before starting. I did all the changes and then had to move them all to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node.

    Thanks again, it works!

  2. 2 Rik Mayell

    Many thanks for your complete and accurate instructions, it works a treat.

    I would second Greg’s comment that the entire post be read before making any changes. Fortunately I did that.

    Thanks again.

  3. 3 jenshuebel

    Thanks for providing feedback! I added the hint to read the full article first.

  4. 4 Steve

    I followed the instructions but there was no VCProjectAMD64Platform.dll in the …\VC\bin\x86_amd64 directory! There is only one in the ..\VC\bin\amd64 and it is of size 370kb. After following the instructions minus copying the non-existance cross-compiler, I still don’t have x64 target option. Where can one find the 32bit dll? :(

  5. 5 jenshuebel

    Can this depend on your installation options when installing the express edition? Or maybe if the Service Pack 1 is installed or not?

  6. 6 Rudy

    Thank you for your excellent article.

    I also have the same problem as Steve: the 32-bit
    version of VCProjectAMD64Platform.dll is missing.

    Some details. Development environment:

    Windows Server 2008 x64
    Windows SDK for Windows Server 2008
    Visual Studio Express 2008 SP1

    Presumably, if I were using a 32-bit OS, the 32-bit
    version of VCProjectAMD64Platform.dll would have
    been installed. I used the net installer, rather than
    the ISO image. I will download the ISO image later
    and see if the 32-bit dll is contained within it.

  7. 7 jenshuebel

    Does in the case where VCProjectAMD64Platform.dll is missing the directory $($VCDIR)\VC\bin\x86_amd64 exist at all? If yes what files are in this directory? Is only this DLL missing or the complete compiler? Can this DLL perhaps be found somewhere in the Windows SDK? I think the compiler gets there installed too.

  8. 8 Rudy

    Yes, the directory does exist. Its contents:

    $($VCDIR)\VC\bin\x86_amd64\1033
    $($VCDIR)\VC\bin\x86_amd64\1033\clui.dll
    $($VCDIR)\VC\bin\x86_amd64\1033\linkui.dll
    $($VCDIR)\VC\bin\x86_amd64\c1.dll
    $($VCDIR)\VC\bin\x86_amd64\c1xx.dll
    $($VCDIR)\VC\bin\x86_amd64\c2.dll
    $($VCDIR)\VC\bin\x86_amd64\cl.exe
    $($VCDIR)\VC\bin\x86_amd64\cl.exe.config
    $($VCDIR)\VC\bin\x86_amd64\dumpbin.exe
    $($VCDIR)\VC\bin\x86_amd64\editbin.exe
    $($VCDIR)\VC\bin\x86_amd64\lib.exe
    $($VCDIR)\VC\bin\x86_amd64\link.exe
    $($VCDIR)\VC\bin\x86_amd64\link.exe.config
    $($VCDIR)\VC\bin\x86_amd64\ml64.exe

    I’ve searched the whole filesystem. The file ‘VCProjectAMD64Platform.dll’
    has two bit-for-bit identical copies. One is in $($VCDIR)\VC\bin\amd64.
    The other is in $($VCDIR)\VC\vcpackages.

  9. 9 jenshuebel

    This is strange. The only difference I can see is that you installed on a server OS. For my tests I used XP 32-Bit and either Windows 7 Beta 64-Bit or XP 64 Bit (can’t remember, it was on a temporary virtual machine). All these are no server operating systems. This really should not make any difference but who knows…. Another potential cause might be whether you first install SDK and then VC Express or the other way round. I installed VC Express first and then the SDK. It might be that the SDK installer needs to detect an existing VC to install this DLL. The compiler from the SDK can be used from command line without a VC. And without a VC it would make no sense to install this DLL…

  10. 10 Steve

    Ok I’ve found a solution to the missing 32-bit VCProjectAMD64Platform.dll.

    All along I used the VS Express 2008 with SP1 and Windows Server 2008 SDK iso images burned on dvds for installation. I installed the VS Express first followed by the SDK. The above mentioned 32-bit dll was missing when I installed on Vista 64-bit OS.

    One has to wonder what would happen if the whole thing was installed on a 32-bit Win XP OS. There is no way the 64-bit dll would be installed on a 32-bit Win XP OS, is there? So I went ahead and did just that. Voila lo and behold, the 32-bit VCProjectAMD64Platform.dll with the size of 283KB appeared in the vcpackages directory. The 64-bit and the IA64 versions are no where in sight but they don’t really matter. Now one simply copies the 32-bit dll over into the Vista 64-bit OS to complete the journey to open the possibility of compiling 64-bit applications using VS Express 2008.

    The bottom line is if all the ingredients are there, the steps in this blog absolutely work. Beautiful and thank you!

  11. 11 Dustin

    This is an awesome article, thanks!

    To Rudy, Steve and anyone else that had the missing 32bit VCProjectAMD64Platform.dll problem — if you don’t wanna fire up a virtual machine and reinstall the whole SDK mess, the dll is located in the ISO distribution’s \Setup dir in the vc_stdx86.cab. It starts with FL_VCProjectAMD64Platform…if you rename it to the proper name it works.

  12. 12 SteveS

    Hi,
    Thanks for the clear documentation.

    I also want to thank the teams at Microsoft for saving me money in this economy. I no longer need to get haircuts because I have pulled out all my hair.

    -Steve

  13. Thanks for the great article!

    I created some simple batch files to automatically enable 64bit programming in VC express.
    Both AMD64 and IA64 are included. :)

    Download it here: http://suma.soulogic.com/dl/VCE64BIT.zip
    Hope this will be also useful.

  14. 14 tylerwilson

    Thank you so much for this page! After a bit of work, it looks like I am up and running for Win64 development with 2008 Express (on Win7 x64 Beta). Thanks again!

    Tyler

  15. 15 Shankar

    Awesome Article. Thank you everyone.

    Here’s my suggestion to this pot:
    To see if the correct compiler is running, select suppress startup banners to no. This will tell you if the correct compiler is compiling the files.

    Another suggestion, i don’t know why we need the windows sdk at all (except to create those visual studio registry keys, were they created by the sdk?), the latest vc express 2008 seems to contain everything.

  16. Thank you so much Jens and Xia Wei!
    I use VC++ express for 64 Bit XSI and messiah:studio shader compiling for several years now, but so far I had to set all the entries by hand each time and never got it right the first time – now it is one click of a .bat ;-)
    Superb!!!

    Thank you!

  17. 17 Steven

    Hey,

    what if I want to install all this on an intel 64 bit machine?

  18. 18 Andy Platt

    Thanks very much. Couple of tips:

    1. Use the scripts that Xia posted – there is a script for 32 and 64 bit O/Ses and the 32 bit versions of the libraries are included so you don’t need to grab them from the SDK.

    2. If you are on Vista make sure you run the command prompt as administrator when running the script. From the start menu, type cmd in the Start Search textbox, right click on the Command Shell and “Run as administrator”. Note some places say you can Ctrl-Shift-Enter to do that instead of right clicking but that doesn’t work for me.

    Andy.

  19. 19 Andy Platt

    P.S. To Steven – yup, this is for Intel x64 too. AMD got there first!

  20. 20 Dave

    Hmm, no love for me. I wonder what I might be doing wrong. Tried running Xai’s script. It complained that some of the config files were missing:

    C:\Documents and Settings\Dave\Desktop\VCE64BIT>copy “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.config” “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.Express.config”
    The system cannot find the file specified.

    and similar messages for the files
    C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.config”

    I do indeed have the following SDKs installed:
    Microsoft .NET Framework 2.0 SDK – ENU
    Microsoft Windows SDK for Visual Studio 2008
    Microsoft Windows SDK for Windows Server 2008

    Now, when I try to follow the instructions manually, I get to the part where I am supposed to edit the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC\VC_OBJECTS_PLATFORM_INFO\

    But I do not have that branch in the registry. It goes as far as the 9.0 node, but no VC underneath it.

    Actually, I wonder if Xai’s regedit /s commands are working properly. His VC_OBJECTS_PLATFORM_INFO.reg file looks like it should build the right nodes in the registry, but it is apparently not.

    Any ideas?

  21. 21 Andy

    Dave – that looks like you don’t have VC installed for Visual Studio Express? You need that as well as the Windows SDK.

    Andy.

  22. 22 Dave

    Nope, I do have it. It’s listed in the Add/Remove Programs thingy as
    Microsoft Visual C++ 2008 Express Edition with SP1 – ENU

  23. 23 John Doe

    Thanks, it works like a charm (on Vista x64)! I thought to write some little script, but then read Xia’s post… that saves me quite a bit of time :D Of course I didn’t install VC++ and the Windows SDK at C:\, that would make things too easy, but all I needed was a simple find and replace.

    @Dave; could it be that you didn’t install VC++ Express & the SDK on the default directory?

  24. 24 Steve

    Works great for me, thank you very much!

  25. @Dave

    Today I installed VC2008 Express and WIN7 RTM SDK on a clean x86 machine, and encountered a similar problem. It seems the latest WIN7 SDK does not install any x64/IA64 tools or libraries into VC installation folder.

    WIN7 RTM SDK have 3 releases which support x86, x64, and ia64 ( http://blogs.msdn.com/windowssdk/archive/2009/08/10/troubleshooting-windows-7-sdk-download-install.aspx ). The patch I posted above only works for x64 SDK on x64 machine. If you need to get it work on x86 macine, it is still possible but you need to do it manually again:

    In VC installation folder, copy over following folders and files
    1. bin\amd64, ia64, x86_amd64, x86_ia64
    2. lib\amd64, ia64
    3. vcpackages\VCProjectAMD64Platform.dll, VCProjectIA64Platform.dll, AMD64.VCPlatform.Express.config, Itanium.VCPlatform.Express.config
    from a well patched x64 machine.

    I’ll try to automate this later.

  26. Just a quick note, If, after installing win7 64bit and the win7 sdk the setup_x64.bat file doesn’t seem to be working, Turn off UAC (User Account Control) completely, then reboot. Now that UAC is turned off, the setup_x64.bat should work properly.

  27. 27 Mike

    Thank you for this article. Once I was able to wrap my mind around the wall-of-text, I got my apps compiling in x64 with no issues. I’m doing this in Windows 7, with Windows SDK v7.0, on a 64-bit system, which I think pretty much presents the worst-case scenario. So thank you again, and if you get some time, see about reformatting the article a bit so that it’s organised and legible.

  28. Updated patch for Win7 SDK:
    http://www.cppblog.com/Files/xcpp/VCE64BIT_WIN7SDK.zip

    Win7 SDK introduces 2 new bugs and they may cause this patch not to work, I describled them as well as workarounds here:
    http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html

  29. 29 Tom

    Now that UAC is turned off, the setup_x64.bat should work properly.

    Just run the .bat file as administrator.

  30. 30 ravo

    Hello

    thanks for this very usefull article. It is very usefull. I proceed all withou error. But where I could find test project for x64 – If i start new, and create x64 platform it will still compile in x86 machine code

    Regards

    Radim

  31. 31 Henry

    Hi,

    Does this apply to vc # as well as vc?

    I went through all the steps but in visual studio c# express there is nothing under projects and solutions that allows me to select a platform.

    Thanks for the article though I feel as if i’m on the right track!

    Henry

  32. 32 Carsten

    Xia Wei’s scripts worked a charm, made it basically zero effort! ;] Thx!

  33. 33 Lorenzo

    Great job.
    It would have taken an year for me to discover all these tricks.
    Thank you so much for sharing it!
    - Lorenzo -

  34. 34 Volker

    VCE64BIT.zip works only in the English version (%ProgramFiles% is not “c:\Program Files” in other languages) and it doesn’t work if VC is installed using a custom path.

  35. НЕ в тему немного, но радует, что автор к блогу не просто тупо взял какую то тему для WordPress, а сделал что то свое и вкладывает в это дело душу.

  36. I found that the batch file vcvarsall.bat was the culprit on my system.

    I kludged it to work (the problem was with it expanding

    :x86
    if not exist “%~dp0bin\vcvars32.bat” goto missing
    call “%~dp0bin\vcvars32.bat”
    goto :eof

    and not finding the resultant files. I just replaced them with the path manually to the batch files ala:

    :amd64
    if not exist “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat” goto missing
    call “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat”
    goto :eof

    and viola I can compile to 64 bit (using python distutils). I still have no working targets except x86 in the ide but that doesn’t bother me.

  37. 37 Ramesh

    Hi

    I opened my registry thru regedit and browsed till ../Microsoft/VisualStudio/9.0. But after this I only have an item called Debugger and nothing else. Am I doing something wrong?

    FYI I have just downloaded VC++ Express on Vista-64. Any response is appreciated. Thanks.
    Ramesh

  38. 38 Ralf

    this is definitely not working (anymore) on x64 based windows 2003 server OS.

    I made sure to have done everything as described and triple checked it – SDK 6.1 and VS/VC++ 2008 are installed in default locations (just downloaded both fresh), Xia Wei’s batch file did run through like a charm, the dll’s match, the regkeys are set up in their proper location – but I can only see the win32 platform under VCExpress.

    Did anyone try to set this up on winblows server 2003 X64 enterprise edition? I must have missed a “gotcha” …

  39. 39 DILEEP

    Hello, i have installed WINDOWS 7 ULTIMATE EDITION 64 bit
    would you mind telling me the configuration that i have to make to VISUAL C++ 2008 EXPRESS EDITION?
    i have some small projects which were working in TURBO C++ when used in windows xp 32 bit version, but its not working here.
    Kindly help me.

  40. 40 duncan

    Thanks for saving me GBP++! Worked fine on my 64 bit Win 7 platform.

  41. В очередной раз спасибо, хорошие что есть такие люди как вы, которые дают дейстивтельно дельные советы:)

  42. 42 afaichun

    Very helpful article. I followed the steps and was able to compile my project. Excellent and thank you for sharing.

  43. 43 Egil

    Thank you!! You saved my day! Worked like a clock on win 7, 64-bit OS.

  44. 44 Nate

    This is ridiculous. Shouldn’t have to do all this just to compile for 64-bit. WTH!?

  45. 45 Scott

    Such a great post, here a year later and we still have to do this but with the above instructions x64 and Itanium are working for me. Thanks very much!

  46. Отлично! Нет ну правда, просто слов нет! :)

  47. 47 ElPedante

    Thanks so much. It works perfectly with Windows 7 64 Bit (Enterprise, German), Visual Studio Express 2008 SP1 (English version) and Windows SDK für Windows 7 (v7.0). However, I did not have to copy the VCProjectAMD64Platform.dll. The one having 288792 Bytes was installed right from the start. As long as it works, I won’t ask why… Thanks again.

  48. 48 Erick

    Thanks for this. Your information worked perfectly for my installation of 2008 Express SP1 on XP x64.

    The issue was driving me nuts trying to troubleshoot and there is simply no information for Express users. Why they would insist on changing pathing and file extensions between versions (without testing?) is amazing to me.

  49. 49 Didier

    Thanks for this blog.
    All went well with the Xia Wei ‘s package.
    But if I can now select the x64 platform, and compile & link without error I can’t find any exe in the Debug or Release folders.
    I use Win7 x64 Home Premium.
    What can it be I am doing wrong ?

  50. 50 Didier

    Sorry for posting too fast : I found my “.exe”.
    For some reason the path was not correct and the “\x64\” part was missing for .obj and .exe, so files in another “Release” or “Debug” folder were overwritten.
    Maybe it is due to the fact that my project was converted (from VC 6.0).

  51. 51 Andrea

    hi, the link http://suma.soulogic.com/dl/VCE64BIT.zip don’t run, and I followed the instructions but there was no VCProjectAMD64Platform.dll in the …\VC\bin\x86_amd64 directory, can someone send me the file?
    my email is andreaianni@hotmail.com

  52. 52 Davey

    hi, the link doesn’t work for me either, can someone reupload the file to mediafire or sth else please?

  53. 53 Alex23874569

    Hi,
    Does anybody have sample VC++ Express 64 bit project/solution files?
    Thanks.
    Alex.

  54. 55 Morris Maynard

    The instructions in the original article seem to be out of date (probably due to updates of VC++ 2008 Express.) Here are modifications that worked for me:

    - I first installed the Windows SDK version 7 and made sure to select all of the 64-bit components.
    - For my 64-bit machine, I didn’t change the registry in the Wow6432Node; rather, I changed it in the main HKLM node.
    - The CLSIDs listed did not exist so I did not change them.
    - I copied the file AMD64.VCPlatform.config to AMD64.VCPlatform.Express.config (instead of renaming).

    After these four steps, everything worked fine – both command-line and IDE builds of 64-bit projects worked OK.

  55. 56 Rainer Schwarze

    Hi,

    probably there is a typo with the CLSIDs. The following is listed twice in the article:

    {656d8763-2429-11d7-8bf6-00b0d03daa06}

    Looking at my registry I assume that one of the double CLSIDs should have been this:

    {656d8766-2429-11d7-8bf6-00b0d03daa06}

    (The first 8 digit group ending in 6 rather than 3: {656d8766-…)

    Best wishes,
    Rainer

    PS: Thanks for the article – it was very helpful :-)

  56. 57 Nora

    Thanks for this geart blog. I followed all these instructions on my windows XP (32bits machine) everything is ok I was able to select the plateform x64. I even compiled my code. a x64 folder containing the .exe was generated. But when I tried to run the gerated program on a 64 bits machine I got an error message. “windows canno’t execute this program”. Does any body face this problem do anyone have an idea about how to fix that ? thanks in advance

  57. 58 Anton Tyutin

    Thank you for clear and compact instructions. It works! If I used the MS compiler regularly, I would probably buy the full Visual Studio edition. But since I use it only occasionally, I prefer to stay with the Express edition, and your solution to extend its functionality to 64-bit targets comes just right for me.

  58. 59 Anton Tyutin

    To Nora: When I tried my (dummy) application built in the Debug mode, it did not work too. But it worked when built in the Release mode .

  59. 60 zenon

    Hello !

    Great, these patches for Visual C++ express with Windows 7 64 bits are very clever. I managed it with success. I must be lucky. But how could-I help ?

  60. 61 T800

    Works great!
    Now I don’t need VS Pro to build in 64-bit:
    http://free-sk.t-com.hr/T800/index.html
    Awesome stuff :)

  61. 62 Matt C.

    Will there be a version for visual studio 2010 express?

  62. 63 Greg Lyon

    Has anyone tried getting this to work with Visual C++ 2010 Express Edition?

  63. 64 Adair Vargas

    Currently not work in Visual c++ 2010 Express Edition. I tried in the same PC where the 2008 was already configured. Platforms doesn’t show in 2010.

  64. just writting to add one more “thanks”. saved me from lots of headache.

  65. 66 Fabio

    Hi,
    this was great but I can’t compile yet an x64 program
    I have win7 64 bit (Intel core Duo) Win SDK 7 MSVC++ 2008 installed in the default path
    Well believe it or not, even with Xia Wei ‘s patch I cannot select a 64 bit!
    I tried several times but no way!!! Any hint?? Thank you!

  66. 67 sheponion

    For Visual C++ 2010 Express we need the upcoming Windows SDK for Windows 7 and .NET Framework 4 (WinSDK v7.1).

    http://blogs.msdn.com/windowssdk/archive/2010/04/07/coming-soon-win-sdk-for-windows-7-and-net-4.aspx#comments

    “This SDK will be released soon after the RTM version of Visual Studio 2010 is released.”

  67. 68 Bob Dowling

    To Fabio:
    I also had to do some steps on my own. Eventually it worked.
    Have you checked your VC\bin\amd64 directory? I found I had to manually copy a number of files over from the x86_amd64 directory, like the config and dll files. I also had to copy and rename the vcvars64.bat and .txt files to the vcvarsamd64.bat/.txt names.
    Good luck!

  68. 69 Keo

    @Bob Dowling: I’ve tried what you say, i have now 25 files on my AMD64 folder and still cant build on x6$, i’ve tried with the patch, etc… no luck D: something curious yesterday i installed the windows sdk feb 2010 release and it was working but i was having some failures with the x64 build (sincei noticed later the Feb2010 release is x86) so i downloaded the Win 7 SDK and now i have the files everything but i cant select x64 D: any help please ?

    I do have the files on VC/vcpackages and i’ve done what Bob said still no luck D:

  69. 70 sheponion

    Using x64-Compiler in Visual C++ 2010 Express is easy:

    1. Install “Visual C++ 2010 Express”
    2. Install “Windows SDK for Windows 7 and .NET Framework 4″
    3. Open your VC++ Project, go to “Properties” > “Configuration Properties” > “General” and change “Platform Toolset” from the default “v100″ to “Windows7.1SDK”

    Thats it!

  70. 71 jack

    In VC 2010 Express if I do what sheponion suggests I get
    linker error LNK1181: cannot open input file ‘C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64\\.obj’
    Obviously I do have SDK 7.1 installed and said directory is full of lib and tlb files but no objs.
    Any ideas?

  71. 72 Tony

    sheponion’s solution worked for me: I got the current 64-bit Microsoft SDK for free from Microsoft

    http://www.microsoft.com/downloads/details.aspx?familyid=35AEDA01-421D-4BA5-B44B-543DC8C33A20&displaylang=en

    and his solution worked just fine.

  72. people are stupid

  73. 74 Robert

    @sheponion Thanx much for tips & tricks ,,But how can i set for all project to Windows7.1SDK ..no need to tweak every time.

  74. 75 FauffbibPab

    Отдельный который когда либо сталкивался с сапой задумывался как побыстрей наклепать сайтов которые реально
    приносили доход и не попали спешно в бан поисковых систем.
    Есть сайт кто продает базы чтобы сайтов для движке DLE http://www.libertytraffic.ru/shop/.Купив базу
    можно лихо заполнить сайт контентом кто быстро индексируется яшей и соответственно
    результативно сбывать ссылки на нем в сапе и других подобных системах.
    Реальной с минимальными затратами такой сайт приносит 500 рублей в день.
    Базы стоят непроходимо дешево и их цифра в продаже неусыпно увеличивается.

  75. 76 SreckoM

    How can one setup projects for Maya plugin development in Visual C++ Express 2010?
    As Maya plugin wizard do not work on this version ….
    Best,

  76. 77 Marc Demierre

    Thank you so much Jens and Xia Wei! Thanks to the script I got it working in 2 minutes. I already had everything correctly installed but I needed to do the manual work.

  77. 78 Luiz Torro

    Thank you, Jen. This was really helpful. The only step I changed was to make a copy of *.config file to *.Express.config. When I renamed, the Standard Visual Studio 64 bit configuration stop working.

  78. Николай Басков нашел себе новую возлюбленную?! Подробности только у нас http://dailycomp.ru/page/14/

  79. 80 Will

    I recently compiled some 3DSTATE examples (one is “simple” physics of a ball kicked through a door).

    Using VB.net Express 2010 the compiled examples ran fine in Windows 7 Starter.

    Compiling again in Windows 7 Home Premium 64bit resulted in a perfect compile with not even one warning. Trying to run the result produces immediate crashes!

    (3DSTATEs compiled example version runs just fine!)

    Results:
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.DllNotFoundException: Unable to load DLL ’3DSTATE3′: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    at Physics._3DSTATE.STATE_engine_load_world(String& world_file_name, String& world_directory_path, String& bitmaps_directory_path, Int32 world_mode)
    at Physics.Form1.MLoadWorld(String worldName, String path) in C:\VBNet 3D Developer Studio 6.0 (Student Package)\Samples\Basic\Source\Physics\Form1.vb:line 267
    at Physics.Form1.OnActivated(EventArgs e) in C:\VBNet 3D Developer Studio 6.0 (Student Package)\Samples\Basic\Source\Physics\Form1.vb:line 154
    at System.Windows.Forms.Form.set_Active(Boolean value)
    at System.Windows.Forms.Form.WmActivate(Message& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    —————————————-
    Physics
    Assembly Version: 1.0.4008.8653
    Win32 Version: 1.0.4008.8653
    CodeBase: file:///C:/VBNet%203D%20Developer%20Studio%206.0%20(Student%20Package)/Samples/Basic/Source/Physics/bin/Physics.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    —————————————-
    Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    —————————————-
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    ———————————————————–
    Why?

  80. (-)Galaxy-Projecs.org.ru(-) (-) !!!(-) (-)
    http://www.workkamen.ru/
    . ?

  81. 82 Jn

    Hi Jen,

    I am Stuck here with the full version of visual studio 2008 with maya 2011 and windows 7 64 bit os,

    it just doest want to even create a project in the first place…

    when i run it through plugin wizard it complains that it cannot create the project after collecting all the plugin info (this is one issue)

    the next one is..
    under
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC\VC_OBJECTS_PLATFORM_INFO\]
    i have
    WIN64(AMD64)
    WINN64(Itanium)

    have i installed the worng sdk ?

    please help …

    thanks

  82. 83 Jn

    Hi All,

    and it also complains when i open an already existing solution or project file saying that..

    The project consists entirley of configuration that requires support for platforms which are not installed on thsi machine.The project cannot be loaded

    thanks,
    J

  83. 84 DanielLTf

    Массвоая рассылка сообщений на 8 тысяч 875 досок а так же на 48 тысячи 500 закрытых форумов и о ваших товарах сразу же узнают сотни тысяч кшиентов.- Всего 224 рублей за рассылку. – Качественно.С гарантией..- т. 8-926-685 + 32 – 42 ICQ 568113539 почта: rutop10(собака)mail.ru ym 048

  84. 85 ChadH

    Быстрая рассылка обьявлений на 8 тысяч 330 досок обьявлений а так же на 45 тысяч 500 форумов и о ваших сайтах и товарах сразу же узнают сотни тысяч потенциальных клиентов.- Всего 242 рублей за рассылку. – Качественно.С гарантией..- т. 8-926-685 + 32 – 42 ICQ 568113539 почта: rutop10(собака)mail.ru el 507

  85. 86 JohnP

    Реальная рассылка вашей рекламы на 8 тысяч 850 досок обьявлений а тавк же на 43 тыячи закрытых форумов и о ваших сайтах и товарах сразу же узнают миллионы клиентов.- Всего 217 рублей за рассылку. – Качественно.С гарантией..- т. 8-926-685 + 32 – 42 ICQ 568113539 почта: rutop10(собака)mail.ru wn 871

  86. 87 Louis

    Hi,

    nice post very helpfull.
    As some people said, is better to read the full post before to start :)

  87. What about Visual Basic Express Edition?

  88. In my case – Win7, VC++ 2010 Express I needed to install Win7 SDK and change toolset in project properties. No registry editing, no scripting.

    Thank you!

  89. 90 AlexF

    Hey if you want the missing VCProjectAMD64Platform.dll 32-bit one and you don’t want to download the 1.3gb iso, this is a direct link to the cab:

    http://download.microsoft.com/download/2/3/F/23F86204-39EE-4CD7-9A51-DB19C9A8F8C4/vc_stdx86.cab

    Cheers

  90. 91 buy window7 product key

    Thanks a lot for sharing this with all people you really recognize what you’re speaking about! Bookmarked. Please additionally discuss with my site =). We may have a hyperlink alternate agreement between us

  91. 92 Omar Estrada

    I recently ran into the same problem but using VS 2008 Pro. After reading this post, I realized that the 64-bit version of VCProjectAMD64Platform.dll was the culprit (replaced it with the 32-bit version and x64 became available). Great work digging this down to the root.

  92. Нет ничего сложнее, чем купить подарок для дорогого, любимого мужчины или выбрать презент начальнику, другу. И нет ничего проще, чем сделать это у нас! Для решения всех проблем и создан наш Интернет магазин подарков.
    Одним из основных наших направлений является продажа подарков для мужчин. У нас всегда в наличии большой ассортимент подарочных наборов, от недорогих до элитных, например таких, как шампура подарочные. Рекомендуем купить набор для покера для азартных людей, которые увлекаются замечательной игрой – покер, они обязательно оценят такой подарок по достоинству.

  93. 94 jobedge.net

    I’m not sure where you’re getting your information, but good topic.
    I must spend a while finding out more or figuring out more.
    Thanks for great info I was on the lookout for this information for my mission.

  94. Admiring the hard work you put into your site and in depth information you provide.
    It’s great to come across a blog every once in a while that isn’t the same outdated rehashed material.
    Great read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google
    account.

  95. Thanks for the good writeup. It in fact used to be a
    amusement account it. Glance complicated to far introduced agreeable
    from you! By the way, how could we communicate?

  96. Often the result at first may be the very same but the outlook is without a doubt critical.
    The primary goals of any kind of treatment are twofold: 1.

    This part of the disc is responsible for providing its moisture content, flexibility
    and shock absorbing qualities.

  97. I just like the helpful information you provide in your
    articles. I’ll bookmark your weblog and check once more right here frequently. I’m rather
    sure I’ll be informed lots of innovative matter right right here! Best of luck for the following!

  98. My programmer is trying to convince me to move to .

    net from PHP. I have always disliked the idea because of the costs.
    But he’s tryiong none the less. I’ve been using Movable-type on several websites for about a year and am anxious about switching to another platform.
    I have heard great things about blogengine.net.
    Is there a way I can import all my wordpress content into it?
    Any help would be really appreciated!

  99. Can I just say what a relief to uncover somebody who genuinely understands what they’re talking about on the net. You certainly know how to bring an issue to light and make it important. More people ought to read this and understand this side of your story. It’s surprising you’re not more popular given that you certainly possess the gift.

  100. Hello, every time i used to check webpage posts here early
    in the morning, since i enjoy to find out more and more.

  101. Hello there! This blog post could not be written much better!

    Looking at this article reminds me of my previous roommate!

    He constantly kept talking about this. I will forward this information to
    him. Fairly certain he’ll have a great read. I appreciate you for sharing!

  102. Pretty section of content. I just stumbled upon your blog and in
    accession capital to assert that I acquire actually enjoyed account your
    blog posts. Anyway I will be subscribing to your augment and even I achievement you access
    consistently quickly.

  103. Somanabolic Muscle Maximizer program is optimized for the U.
    Except this is exactly what does happen, frequently in badly considered build muscle strategies.
    Then opt for ones cheapest way to help you feed those guns while using the Egg White peptids.

  104. I’m trying to create a similar place to this myself, there’s an
    enormous amount of effort that goes into it. Really vibrant community as
    well, not easy to build.

  105. Hi! Someone in my Myspace group shared this site with us so I came to take a look.

    I’m definitely enjoying the information. I’m bookmarking and will be tweeting this to
    my followers! Great blog and superb design.

  106. Thanks for a marvelous posting! I seriously enjoyed
    reading it, you may be a great author.I will remember to bookmark your blog and will eventually come back someday.
    I want to encourage that you continue your great job, have a nice morning!

  107. 108 Venkatesh

    hi, thanks, I tried the same procedure but not able to register the keys. Although I double click it or manually import, the keys are not updated in the registry. I use Windows Server 2008.
    Any help is very much appreciated. Thanks and Kind Regards,
    Venkatesh

  108. The exception to this rule is cellulose, which is
    forcing your body to lose weight. There are 300 toxic chemicals in the blood that
    circulates around the body, pleasure, self-indulgence and gluttony.
    It won’t do this though if too many total calories are eaten, but fat calories have dieting hungry at night no place in the diet counting. When you’re dieting hungry at night
    and exercising.

  109. It’s hard to find knowledgeable people for this topic, however, you sound like you know what you’re talking about!
    Thanks

  110. Thank you for sharing your info. I truly appreciate your efforts and I will be waiting for your next write ups thank you once again.

  111. Hi to all, how is all, I think every one is getting more from this web
    site, and your views are good designed for new people.

  112. Alamo may be a bit pricier than other car rental companies, but the excellent service is a testament to
    the saying “you get what you pay for. For example, when the car rental company Avis says in its slogan, ‘We work harder,’ it’s addressing the slogan to the customer directly. There is normally a limit on the countries that you cover while driving.

  113. I drop a leave a response whenever I appreciate a post on a website or
    I have something to valuable to contribute to the
    conversation. Usually it’s triggered by the fire communicated in the article I looked at.

    And after this article Visual C++ 2008 Express Edition And 64-Bit
    Targets | Jens’ Blog. I was actually moved enough to leave a thought :
    ) I actually do have a few questions for you if it’s okay.

    Is it simply me or do some of the remarks come across as if they are written by
    brain dead individuals? :-P And, if you are posting on additional online social sites, I’d like to keep up with everything fresh you have to post.
    Would you list all of your public sites like your linkedin profile, Facebook page or
    twitter feed?

  114. I do not know if it’s just me or if perhaps everyone else
    experiencing issues with your website. It seems like some
    of the text on your content are running off the screen.

    Can somebody else please provide feedback and let me know if this
    is happening to them too? This might be a problem with my internet browser because I’ve had
    this happen previously. Cheers

  115. Hi there, I check your new stuff daily. Your story-telling style is witty,
    keep up the good work!

  116. Nice post. I learn something new andd challenging on blogs I
    stumbleupon on a dailyy basis. It’s always interesting to read through content from other writers and use a little something from their sites.

  117. Incredible! Continue the good work. :-D

  118. 119 TN

    And the same can be said when you employ somebody to repair your computer.
    You need to maintain your computer system in order
    to use it for a long period of time. Computer Repair Schools (also known as Electronic and Computer Repair Schools) prepare students to be
    professional computer technicians.

  119. While many people would rather have the ease of painting a room, there are those
    out there who like the challenge and beauty of a perfect wallpapering job.
    Dana La – Rue of ‘The Broke-Ass Bride Blog’ has written ‘The Broke-Ass Bride’s Wedding Guide’, for couples
    that are trying to plan their wedding without breaking the bank.
    The file inside needs to be placed into Documents >Electronic Arts >The Sims
    3 >Mods >Packages and you should delete the ‘scriptcache. After the installation is completed, enable
    the admin account and log in with it. If you double click this button it will show more information about the error message and offer solutions on how to validate your copy.

  120. Thank you, I’ve recently been looking for info approximately this topic for ages and yours is the greatest I’ve discovered so far.
    But, what in regards to the bottom line? Are you positive concerning the supply?

  121. I am regular visitor, how are you everybody? This piece of writing
    posted at this web site is actually fastidious.

  122. 123 Michel

    Thanks for the post, you helped me a lot.
    I will sugest this for others.

  123. My spouse and I stumbled over here different
    page and thought I might as well check things out. I like what I see so i am just following you.
    Look forward to finding out about your web page for a second time.

  124. 125 Johnd252

    When choosing the colours for you office, there are a few basic points to consider. bcddbbedgecb

  125. To best avoid low back pain during pregnancy, lift heavy items with caution and maintain posture as best you can.
    They can not only be affected at the spinal level of
    origin, but also peripherally, at their destination, back to the spine.

    This is an important distinction because it is the underlying diagnosis (vs.


  1. 1 Install Trac on 64 bit Windows and run it under IIS7 fast cgi. « Computer and me
  2. 2 Dolphin (SVN) discussion thread - Page 321 - Emuforums.com
  3. 3 Softimage XSI x64 plugins compiling « Xavier Lapointe Desjardins
  4. 4 Windows support « SourceForge.net: Project chesley
  5. 5 Code Critical
  6. 6 Writing Mental Ray Shaders from Scratch for Maya « pixel sorcery
  7. 7 Good morning, ich bin Rodolphe ! » Visual C++ 2010 express x64
  8. 8 [Maya]プラグイン開発環境の構築(VC++2008/VC++2010) | takkunの記録簿
  9. 9 Клуб любителей эксклюзивного Seo вареза
  10. 10 Dle
  11. 11 Коллекция интересных ресурсов по тематике программирования на языке Си/Си++ – Блоги - ISN
  12. 12 best testosterone booster
  13. 13 you could try here

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: