﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-XCPP</title><link>http://www.cppblog.com/xcpp/</link><description>心潮澎湃</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 19:43:27 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 19:43:27 GMT</pubDate><ttl>60</ttl><item><title>Creating a bootable clean VHD</title><link>http://www.cppblog.com/xcpp/archive/2011/05/16/create_bootable_clean_vhd.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Mon, 16 May 2011 09:56:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2011/05/16/create_bootable_clean_vhd.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/146508.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2011/05/16/create_bootable_clean_vhd.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/146508.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/146508.html</trackback:ping><description><![CDATA[1. Create VHD from Hyper-V manager or Disk Management in Server Manager<br>2. Attach the VHD, initialize with MBR, create volume (format with NTFS and mount to X:\),&nbsp;set active<br>3. Launch <a href="http://neosmart.net/dl.php?id=1">EasyBCD</a>, in "Bootloader Setup" tab, choose correct Partition, and install BCD (a.k.a. PBR, Partition Boot Record)<br>4. At this stage the newly installed BCD is still empty. Now click "Add New Entry" in EasyBCD with default settings to add a default entry<br>5. Deploy a OS into the VHD: imagex /apply &lt;path to install.wim&gt; &lt;index of image&gt; X:\<br>6. Detach the VHD<br><br>Now the VHD is a sysprep'ed, bootable, and absolutely clean VHD.
<img src ="http://www.cppblog.com/xcpp/aggbug/146508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2011-05-16 17:56 <a href="http://www.cppblog.com/xcpp/archive/2011/05/16/create_bootable_clean_vhd.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NTFS directory junctions to network shared folder</title><link>http://www.cppblog.com/xcpp/archive/2011/05/08/junction_link_to_shared_folder.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Sun, 08 May 2011 06:56:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2011/05/08/junction_link_to_shared_folder.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/145948.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2011/05/08/junction_link_to_shared_folder.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/145948.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/145948.html</trackback:ping><description><![CDATA[Usually it is believed that NTFS directory junctions are not allowed to link network shared folders.<br><br>Refer to this MSDN article: <a href="http://msdn.microsoft.com/en-us/library/aa365006%28v=VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/aa365006%28v=VS.85%29.aspx</a> <br><br>However here is a easy workaround:<br><br>1. Create a symbolic link to the network shared folder<br>2. Create directory junction to the symbolic link<br>3. Done.<br><br>The link created in step 2 looks like a directory junction, but behaves like a symbolic link.
<img src ="http://www.cppblog.com/xcpp/aggbug/145948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2011-05-08 14:56 <a href="http://www.cppblog.com/xcpp/archive/2011/05/08/junction_link_to_shared_folder.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Expand VirtualBox VDI - Linux guest/Windows host</title><link>http://www.cppblog.com/xcpp/archive/2010/01/07/expand_linux_guest_vbox_vdi.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Thu, 07 Jan 2010 03:31:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2010/01/07/expand_linux_guest_vbox_vdi.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/105072.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2010/01/07/expand_linux_guest_vbox_vdi.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/105072.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/105072.html</trackback:ping><description><![CDATA[1. Download <a href="http://clonezilla.org/">clonezilla</a> and <a href="http://gparted.sourceforge.net/">gparted</a> live CD<br>2. Create a new VDI with bigger size, attach it to the VM, boot the VM with clonezilla live CD<br>3. Clone the old VDI to new VDI<br>4. Detach old VDI (don't delete it before new VDI is verified to work)<br>6. Boot the VM with gparted live CD, delete swap and extended partition, expand the primary partition, and then recreate the extended and swap partition<br>7. Remove CD and boot the VM, verify if it works<br>8. Delete old VDI<br><br>BTW, for Virtual Box shared folders:<br><br>sudo mount -t vboxsf share_name /path/to/mount<br><br>To mount it permanently, append a line to /etc/init.d/rc.local with above command.<br>  <img src ="http://www.cppblog.com/xcpp/aggbug/105072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2010-01-07 11:31 <a href="http://www.cppblog.com/xcpp/archive/2010/01/07/expand_linux_guest_vbox_vdi.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Build wxWidgets applications with CodeLite in Ubuntu</title><link>http://www.cppblog.com/xcpp/archive/2010/01/06/build_wx_app_with_codelite_in_ubuntu.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Wed, 06 Jan 2010 14:45:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2010/01/06/build_wx_app_with_codelite_in_ubuntu.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/105046.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2010/01/06/build_wx_app_with_codelite_in_ubuntu.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/105046.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/105046.html</trackback:ping><description><![CDATA[Today I spent 5+ hours in this problem so I think it is worth to write down my experience here...<br><br>I just started to play with Linux and the open source C++ IDE CodeLite. The IDE and wxWidgets library looks great, and the Linux platform is becoming more and more user friendly today. So I tried to build an application with CodeLite (2.1.3584) in Ubuntu (9.10).<br><br>I tried to build a wxWidgets application in Windows before. According to this <a href="http://codelite.org/WxWidgets/GettingReadyForWxWidgetsDevelopmentUnderWindows">article</a> the thing is quite easy. However, I didn't expect it is so difficult to do the same thing in Linux (simply because I can't find a similar article on Internet). I googled again and again but didn't find much stuff useful.<br><br>Here is instructions I used:<br><br>1. Install wxWidgets package: sudo apt-get install libwxgtk2.8-dev<br><br>2. Install build essentials package: sudo apt-get install build-essential<br><br>3. Create a link for "/usr/include/wx-2.8/wx" to "/usr/include/wx", or copy the directory over<br><br>4. Create a link for "/usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h" to "/usr/include/wx/setup.h", or copy the file over<br><br>5. Open CodeLite IDE, create a project using wxWidgets template<br><br>6. Modify the default project settings to:<br>complier options: -g;$(shell wx-config --cxxflags)<br>linker options: -mwindows;$(shell wx-config --libs)<br><br>7. Complie and run<br><br><br>Without step 6 you may see following errors:<br><br style="font-style: italic;"><span style="font-style: italic;">No config found to match: /usr/bin/wx-config --cxxflags --unicode=yes --debug=yes in /usr/lib/wx/config</span><br style="font-style: italic;"><br style="font-style: italic;"><span style="font-style: italic;">No Target! You should use wx-config program for compilation flags!</span><br><br>It's because there is no debug library exists in /usr/lib/wx/config. By default there is only release+unicode builds.<br><br><hr style="width: 100%; height: 2px;">update on 2010/1/9:<br><br>It is actually so easy. I didn't do it in a right way. Now I believe the right process should be following the instructions <a  href="http://wiki.wxwidgets.org/Installing_and_configuring_under_Ubuntu">here</a>.<br><br>For a simplified guild:<br><br>1. sudo apt-get install build-essential<br>2. sudo apt-get install libwxgtk2.8-dev libwxgtk2.8-dbg<br>3. sudo ln -sv /usr/include/wx-2.8/wx /usr/include/wx<br>4. Create a wx project in CodeLite, build and run with default settings. It should just works<br>    <img src ="http://www.cppblog.com/xcpp/aggbug/105046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2010-01-06 22:45 <a href="http://www.cppblog.com/xcpp/archive/2010/01/06/build_wx_app_with_codelite_in_ubuntu.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC++ 2008 Express, Win7 SDK, and 64bit targets</title><link>http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Wed, 09 Sep 2009 02:54:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/95669.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/95669.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/95669.html</trackback:ping><description><![CDATA[In several months ago I posted a&nbsp;<a href="http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_64bit.html">patch</a> for VC++ 2008 Express to enable its&nbsp;x64 and IA64 targets (by default this free edition of VC++ only supports x86 targets). It used to work with <em>Windows SDK for Windows Server 2008 and .NET Framework 3.5</em> nicely, but now as <em>Windows SDK for Windows 7 and .NET Framework 3.5 SP1</em> has been released, it cannot work sometimes, so I decide to update this patch for the new SDK.<br><br>I have to mention that Microsoft introduces&nbsp;2 new bugs in Win7 SDK: <br><br>1. If you are running a x86 machine,&nbsp;the x86 version of Win7 SDK will not install x64 and IA64 tools anyway, even if you have selected all checkboxes during the setup. <br><br>Workaround: repair the installed Win7 SDK (from control panel),&nbsp;and check all these checkboxes again, then you get all x64 and IA64 tools back. <span style="COLOR: #808080">(note: don't try to install x64 SDK to a x86 machine, setup program will fail)</span><br><br>2. After the Win7 SDK (x86/x64/IA64 all versions) is installed, the Windows SDK Configuration Tool will not register the latest v7.0 SDK as system default (instead it still uses v6.0A). As a result VC++ will not be able to locate x64 and IA64 tools (compliers etc).<br><br>Workaround: launch the Windows SDK Configuration Tool from start menu, choose the right version (v7.0), and click "Make Current".<br><br>Now you can download and install the new patch <a href="http://www.cppblog.com/Files/xcpp/VCE64BIT_WIN7SDK.zip">here</a>. I have tested it on clean x86 and x64 machines.<br><br>I removed the&nbsp;two DLLs&nbsp;from x64 package (VCProjectAMD64Platform.dll and&nbsp;VCProjectIA64Platform.dll), because Win7 SDK will copy correct ones (Microsoft has fixed this bug in Win7 SDK). 
<img src ="http://www.cppblog.com/xcpp/aggbug/95669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-09-09 10:54 <a href="http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Entity Framework Query Samples for PostgreSQL</title><link>http://www.cppblog.com/xcpp/archive/2009/09/08/ef_samples_for_postgresql.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Tue, 08 Sep 2009 03:56:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/09/08/ef_samples_for_postgresql.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/95549.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/09/08/ef_samples_for_postgresql.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/95549.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/95549.html</trackback:ping><description><![CDATA[As&nbsp;a PostgreSQL fans as well as a .NET user, I used PostgreSQL in&nbsp;a couple of&nbsp;.NET projects and it works great. Now LINQ and Entity Framework (EF) become more and more popular so it is natural that I want to adopt these technologies into projects too. At first I tried DB LINQ, but obviously&nbsp;it is not ready to use (descried in my previous post). So I quickly switched to entity framework.<br><br>Microsoft designed EF to support not only its SQL Server. It announced a lot of supported (with supported drivers)&nbsp;3rd party databases listed <a href="http://msdn.microsoft.com/en-us/data/dd363565.aspx">here</a>. Luckily my favourite PostgreSQL is present (Npgsql).<br><br>Microsoft also released a lot of great samples for EF, and I started to learn EF from this one: <a href="http://code.msdn.microsoft.com/EFQuerySamples">http://code.msdn.microsoft.com/EFQuerySamples</a>&nbsp;(it looks fancy and rich).&nbsp;Then I ported the sample database NorthwindEF to PostgreSQL to test if EF for&nbsp;PostgreSQL really works. The initial test shows it works graet: almost all samples can run with PostgreSQL smoothly. <img border=0 align=absMiddle src="http://www.cppblog.com/CuteSoft_Client/CuteEditor/images/emsmiled.gif">&nbsp;The translated SQL queries also looks good.<br><br>I uploaded the ported EF sample for PostgreSQL&nbsp;<a href="http://www.cppblog.com/Files/xcpp/EFQuerySamples.zip">here</a>&nbsp;(AFAIK there is no official documents on Internet&nbsp;for EF support of PostgreSQL/Npgsql, so this sample&nbsp;can be a good start). 
<img src ="http://www.cppblog.com/xcpp/aggbug/95549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-09-08 11:56 <a href="http://www.cppblog.com/xcpp/archive/2009/09/08/ef_samples_for_postgresql.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PostgreSQL和DbLINQ</title><link>http://www.cppblog.com/xcpp/archive/2009/09/04/postgres_dblinq_galance.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Fri, 04 Sep 2009 08:34:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/09/04/postgres_dblinq_galance.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/95316.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/09/04/postgres_dblinq_galance.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/95316.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/95316.html</trackback:ping><description><![CDATA[<p>PostgreSQL和DbLINQ：</p>
<ul style="WIDTH: 100%">
    <li>PostgreSQL的名字也可以叫做Postgres，简写可以为PG
    <li>PG是一个功能全面的开源数据库（比那个连ACID都没有的MySQL强多了），性能也很不错，我把SQL Server 2008里面的8GB数据导入到PG里面后，发现查询性能和数据插入性能都差不多，但是SQL Server好像还是要快一点点（非常不严谨的测试，我这不超过10%，企业版）
    <li>PG的backup文件真是超级的省空间，SQL Server导出的bak文件有7G多，而PG导出的只有几百兆（这个数据库里面重复数据多有关系），PG在备份的时候应该是自动压缩了
    <li>PG的pgAdminIII虽然界面不是那么好看，但是很好用，能用SQL脚本干的事情它基本上都能干
    <li>PG在Windows上面也支持SSPI集成认证方式，这和SQL Server默认的认证方式是一样的，可以很大的提升安全性（不用明文密码了），但是我没能配成功..&nbsp;
    <li>在PG里面unicode就是utf-8，这样英文占一个字节，中文占三个字节，不如ucs-2。当然ucs-2只能支持2^16个字符，不是真正的unicode。真正的unicode最好用ucs-4，可是这个字长又太大了。由于PG内部不用ucs-2，所以和windows程序的匹配不是那么理想（NT的unicode就是ucs-2），要么干脆都用DBCS。但是.net里面又只有unicode的string... 所以还是C++好
    <li>DbLINQ虽然已经开发了两年多了，但现在基本上还是没法用，简单的单表查询还行，query稍微复杂一点点就不行了，group by都时常出问题，完全没法用在实际的项目中（哪怕是纯娱乐的项目）
    <li>DbLINQ现在可下载的是0.18版本（一年前的），从SVN拖下来的是0.19，bug多多，比如PG里面表的主键必须命名为xxx_pkey的形式，不然就认不到。外键则只支持单列的外键，多列的话不能直接生成C#，只能生成一个错误的DBML，然后在VS里面修改DBML之后再生成C#，这样才能用。为这些bug真是浪费了好多时间（重建主键就花了几个小时）
    <li>DbLINQ的很多example里面都是一堆注释，看也看不懂，基本上没啥用处 </li>
</ul>
<p>总而言之，我对PostgreSQL这个数据库印象相当不错，而对DbLINQ比较失望。看来要在PG上面用LINQ，还是直接上ADO.NET Entity Framework比较好。</p>
<img src ="http://www.cppblog.com/xcpp/aggbug/95316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-09-04 16:34 <a href="http://www.cppblog.com/xcpp/archive/2009/09/04/postgres_dblinq_galance.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Boost 1.39的编译经历</title><link>http://www.cppblog.com/xcpp/archive/2009/07/08/building_boost_1_39_in_windows.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Wed, 08 Jul 2009 13:51:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/07/08/building_boost_1_39_in_windows.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/89570.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/07/08/building_boost_1_39_in_windows.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/89570.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/89570.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近写个东西要用到正则表达式，于是就想到了Boost库，由于以前没有用过这个库，所以今天为这事儿真是费了一番功夫。<br><br>一开始想到的是Boost，但是突然想起VC++ 2008的SP1不是已经带了tr1的实现吗，貌似直接用就行了。但是事与愿违，我这里装的是VC++ 2008 Express，虽然也能#include <regex>，但是写出来的程序只能编译不能链接。后来一查才知道微软的tr1实现是不支持Express的（虽然不支持却又把头文件放在那里诓人），莫非又要去别个VC完整版那里拷点东西出来不成？这应该是没必要的，因为从VC++ 2003开始Boost就可以很好的在VC下编译了，所以干脆不管那个啥tr1了，准备直接从Boost官方网站下载Boost再自己编译。&nbsp;&nbsp;<a href='http://www.cppblog.com/xcpp/archive/2009/07/08/building_boost_1_39_in_windows.html'>阅读全文</a><img src ="http://www.cppblog.com/xcpp/aggbug/89570.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-07-08 21:51 <a href="http://www.cppblog.com/xcpp/archive/2009/07/08/building_boost_1_39_in_windows.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC++ 2008 Express和ATL、MFC、WTL编程</title><link>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_atlmfcwtl.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Fri, 24 Apr 2009 06:45:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_atlmfcwtl.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/80942.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_atlmfcwtl.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/80942.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/80942.html</trackback:ping><description><![CDATA[VC++ Express精简掉了对于ATL和MFC的支持，不过我发现只要从完整安装版（VSTS等）把C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc 这个目录拷贝过来就直接可以用了，整个文件包是147M，用7z可以压缩到14M。<br><br>复制好这个目录后，就可以开始配置WTL8.0了：<br><br>1、解压缩WTL8的安装包<br>2、复制setup80x.js到setup90x.js<br>3、用记事本打开setup90x.js，替换所有字符串8.0为9.0并保存文件<br>4、运行setup90x.js<br>5、在VC++ Express里面配置WTL的include目录<br><br>visualfc博客里给出的方案是安装PSDK2003，这个SDK带的ATL和MFC版本分别是3.0和4.2的，不是最新的版本，不太爽。当然，从完整版的安装目录里面拷贝出东西来给Express版本用，这样做可能还是有点盗版嫌疑。
<img src ="http://www.cppblog.com/xcpp/aggbug/80942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-04-24 14:45 <a href="http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_atlmfcwtl.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC++ 2008 Express和64位编程</title><link>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_64bit.html</link><dc:creator>xcpp</dc:creator><author>xcpp</author><pubDate>Fri, 24 Apr 2009 06:18:00 GMT</pubDate><guid>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_64bit.html</guid><wfw:comment>http://www.cppblog.com/xcpp/comments/80936.html</wfw:comment><comments>http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_64bit.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/xcpp/comments/commentRss/80936.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xcpp/services/trackbacks/80936.html</trackback:ping><description><![CDATA[<p>Visual Studio的Express系列虽然在功能上肯定比不上完整的Team Suite版本，但是它是免费的，而且&#8220;该有的都有了&#8221;，所以它正在变得越来越流行。对于VC++ Express，它的不方便之处之一是不支持64位编程，而这个限制在安装Windows SDK后，在默认的设置依然存在。有个叫作Jens的人搜集了各个论坛上程序员们分享的各种方案，现在似乎终于看到了曙光，按照他写在上面blog里面的方法，可以让VC++ Express完美的支持64位编程，包括AMD64和IA64。</p>
<p>于是我写了一些脚本让这种patch方法能够自动化的执行。<a href="http://www.cppblog.com/Files/xcpp/XVCE.zip">/Files/xcpp/XVCE.zip</a></p>
<p>这个脚本可以支持32位和64位的Windows。我只在Win6和Win7上面测试过这些脚本，在我用的几台电脑上全都完美运行，我以前写的几个64位程序项目文件都能顺利的打开、编译和运行。当然IA64的程序虽然能编译但是我没地方去运行它们（需要Intel的安腾处理器），所以不完全保证能用，但是应该能用。</p>
<p>下面是readme.txt：</p>
<p>1. Install Visual C++ 2008 Express (to default folder in C drive, or this patch will not work)<br>2. Install Windows SDK (Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5)<br>3. Open a command prompt, navigate to the folder contains this file, run setup_x86.bat or setup_x64.bat according to your system architecture<br>4. If there is no error in the command prompt, launch the Visual C++ 2008 Express IDE and build your X64 or IA64 projects</p>
<p>This work is based on the work by jenshuebel: <a href="http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/"><font color=#c50000>http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/</font></a></p>
<p>Thanks jenshuebel for the complete and accurate instructions, and thanks Microsoft for the free Visual C++ IDE.</p>
<img src ="http://www.cppblog.com/xcpp/aggbug/80936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xcpp/" target="_blank">xcpp</a> 2009-04-24 14:18 <a href="http://www.cppblog.com/xcpp/archive/2009/04/24/vc2008express_64bit.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>