使用CodeBlocks编译64位程序(用的编译器仅仅是windows sdk的)

时间:2024-03-01 15:18:01

需求:

-CodeBlocks使用nightly版本;

-Windows SDK(我使用的是6.0A,即微软针对vista的,因为这个比较小,你也可以选择其他版本但是要有64位编译器。他也适用于xpsp2及以上但是要安装.net2.0以上才能运行)对应的链接

http://download.microsoft.com/download/4/2/6/42684501-9ec5-43dd-9dfe-c8c9dfa6a66f/6.1.6000.16384.10.WindowsSDK_Vista_Feb2007Update_rtm.DVD.Rel.iso

Step1) Make sure you have a nightly build because I don’t think that RC2 supports all the needed functionality to setup the compiler.

//废话,上面不是说了么。。。

Step2) Install the Windows SDK, you can deselect all the .net stuff because we won’t be needing it.

安装WinSDK,我只选择了Developers Tools->window Vista Headers and libraries 下图中的三个。其他一概不安。

Step3) Start Code::Blocks and go to ‘Settings->Compiler and Debugger settings’, then select ‘Microsoft Visual C++ 2005’ from the dropdown box and click the copy button. Now choose a name I used ‘Windows SDK x64’ but you can name it whatever you like.

//在CB里面的编译器设置,选择,vc2005,我选的是vc2005/2008(新的CB版本都一样),到头来还是手动修改。废话不说,把刚才说的这个设置复制出一个新的,然后随便起个名字,我起的是wnsdkv6x64.

Step4) Now with ‘Windows SDK x64’ as the selected compiler go to the ‘Toolchain executables’ tab andEMPTY the directory text box. Then click the ‘Additional Paths’ tab inside the ‘Toolchain executables’ tab. Remove the directory that goes to your Visual C++ 2005 install dirNOT the debug one and add the following directory’s:
- C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\x64
- C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin\x64

//他说开始设置交叉编译工具链程序(不用管,英文版本的就是‘Toolchain executables’这个标签,说把

这个控件清空,之后在下面的Additional Paths这个额外路径选项卡里面加入下面这两个目录,但是要把原来的那个默认的删除掉就行了。要添加的路径就是如下:

注意:如果你都是默认安装就用上面的路径就可以了。

%YourSDK%\Bin\x64     (由于我自己按照上面安装之后在这个没有这个目录,我也没设置,莫非我的版本和他的不一样?不过我确实编译通过了)

%YourSDK\VC\Bin\x64

 

Step5) Now go to the ‘Search Directories’ tab and remove all items under the ‘Compiler’, ‘Linker’ and ‘Resource compiler’ tabs. And then add the following,Compiler:
- C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\INCLUDE
- C:\Program Files\Microsoft SDKs\Windows\v6.0\Include

//现在去,图里标注的0号位置,在1号选项卡里面添加他说的目录或者自定义路径写

%YourSDK%\VC\INCLUDE

%YourSDK%\Include

2号linker填写下面的:

Linker:
- C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\LIB\x64
- C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib\x64

或者自定义目录填写:

%YourSDK%\Lib\x64

%YourSDK%\Lib\VC\LIB\x64

3号不用填写,因为sdk里面没有。。。

Resource Compiler:
- None

Step6) Create a new project (console project) and select our new ‘Windows SDK x64’ compiler as the compiler to use. Now in the generated code add the following line:

  • cout << “sizeof(void*) = ” << sizeof(void*) << ";" << endl;
Hit the compile button and off we go. When we execute the program it appears to have a 8byte long address (64 bits).

 

基本完事了,这个是测试用的,他只是测试控制台程序是否能被正确编译,反正我已经编译出来了,看图:

使用向导建立新console project,

之后就可以编译出来了

没有错误:显示如下:

我又使用win32向导建立了一个标准的win32api的窗口,

绝对是64位的程序。其他的还没试过,接下来的是使用ms2010编译amd64的教程了,应该很容易,就是因为不想使用ms2010那么大的体积才不用他的,谁想用就试试吧,他用的express版本来编译amd64的,当然也要安装winsdk,最新的vs2012据说连direct sdk都不用安装了,没用过不知道。

 

The following instructions will allow you to compile 64-bit code using Microsoft\'s VC 2010 compiler (with the Windows SDK).Requirements:
- Code::Bocks (at least as of 2012-07-23 the nightly build worked) [2]
-Microsoft Visual C++ 2010 express (or better) [3]
-Microsoft Windows SDK v7.1 (earlier versions might not work, later version will probably work but directories will change)[4]

Step 1) Install Visual Studio 2010.

Step 2) Install Windwos SDK.

Step 3) Install Code::Blocks following instructions listed in nightly build forum.

Note: Prior to setting up Code::Blocks for 64-Bit compiling, you may need to set the MSbuild environment to x64. This can be done my running the command:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64

Step 5) Run the new installation for the nightly build of Code::BLocks. It should auto-detect your installed compilers, including the recently installed Visual C++ 2010.
Step 6) Once Code::Blocks open the \'Global Compiler Settings\' (Settings->Compiler...). Select \'Microsoft Visual C++ 2010\'.
Now under the \'Toolchain executables\' Tab change the Compiler\'s installation directory to:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
Note: if you installed VC to a different directory this path will change. The important part is that you change the path to look in the \'.\bin\amd64\' directory.

While still in the \'Toolchain...\' tab, click on \'Additional Paths\'. Add the following:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

Next you need to add the x64 includes and lib file.
Under the \'Search Directories\' tab add the following to the Compiler search path:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
Note: the Windows SDK directory should be listed first

Now add the following to the Linker search path (in this order):
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

You should now be able to compile x64 code using VC 2010 (express).

原文请看http://wiki.codeblocks.org/index.php?title=64Bit_Windows