博文
VS2008 编译64位(2011-01-06 14:17:00)
摘要: 安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。
1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。
2. 选择“x64”平台,点击确定按钮。
3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。
4. 如果在选择平台的下拉列表里找不到x64,可能是没有安装x64编译支持。在VS安装程序里再装上就可以了。
......
TortoiseSVN安装问题-0x80070422(2010-11-25 11:23:00)
摘要:这几天安装TortoiseSVN出了很多问题,来跟大家分享一下。
首先是小组里有人要在64位Win7下安装TortoiseSVN,一直安装不上,结果发现用的是Win32版本,显然不行,可以在官网下载Win64版本的TortoiseSVN的:http://tortoisesvn.net/downloads
我自己准备在32位Win7下安装TortoiseSVN,竟然发现也安装不上,是在安装到一半的时候(publishing product information),报如下错误:
An error occured during the installation of assembly
component {9DA4DC8A-9731-3F0E-8BD5-FC17CA6848AD}
HRESULT: 0x80070422
这就比较奇怪了。难道我的TortoiseSVN版本不对?要专门下载一个支持Win7的?不对呀,官网没有说明呀,只需要区分Win32和Win64呀。于是上网搜索了一下问题来源和解决方案,疑惑解开。
0x80070422是一个Windows下服务没启动造成的错误,哪个服务呢?比较烦人的Windows Update. 以前xp下我故意不启动是为了节省点机子资源,现在机子性能强悍了,我也不想启动它,因为它老人家如果拿到了更新,每次关机前都要更新个半天,根本都关不了机。但是现在没辙。只好暂时启动一下。果然安装成功。详情可以参考:http://support.microsoft.com/kb/958043
在搜索答案的过程中,发现别人也在publishing product information这一步出了问题,但是他的问题来源却是Windows Modules Installer被禁用了。实际上,TrustedInstaller.exe是“Windows Modules Installer”这个服务的进程,路径位于C:\Windows\servicing\TrustedInstaller.exe。如果要进行windows update的时候或者安装某些微软发布的安装包时,Windows Modules Instal......
VS2008 界面 Unicode MultiByte(2010-08-16 20:35:00)
摘要:1、 使用unicode后,编译的窗口风格是XP的风格。而如果用多字节(Multibyte)编译,则窗口的风格是老式的,如Win2000系统那种风格。原因在于stdafx.h中的设置:
其实只需要将:
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Control......
lib与dll生成在不同路径(VS2008)(2010-08-14 21:51:00)
摘要:对于动态库,我们一般都知道如何设置dll的生成目录,链接时lib会与dll生成在同一目录下。但是有些项目的工程设置会要求把dll与lib生成在不同的目录下。如果我们每次都从dll目录下拷贝lib到特定目录下,不仅浪费时间,而且经常忘记了去覆盖而导致一些链接错误,因此最好的办法还是分别生成到不同的目录下。
对于VS2008,打开工程属性,选择【Link】-【Advanced】-【Import libraries】设置即可。
关于工程设置,还有一些要注意的。例如在VC6下面设置好的工程路径转为VS2008工程的时候,要了解VC6工程转换过来的信息,除了在基本的一些Output里面之外,还有两个隐蔽的分别在【C/C++】- 【Precompiled Header】与【Output Files】下面和【Linker】- 【Debugging】下面,小心哦......
SVN监视软件CommitMonitor(2010-07-23 10:11:00)
摘要:最近找到了一款极其好用的软件CommitMonitor,它可以监视SVN的一举一动,Team成员之间再也不用去相互通知是否该更新代码了。
当有更新时,在每个成员的屏幕右下角都会有这样的提示:
官方地址在这里:
http://tools.tortoisesvn.net/
如果有需要其中文操作说明的话,请留下邮箱吧。
(最后庆祝一下编程爱好者博客的文章编辑器终于改版了!值得鼓励!但是从电脑上传图片的功能欠缺)......
如何删除.svn文件下text-base文件夹(2010-04-19 20:37:00)
摘要:
今天在删除资料时,发现.svn文件下text-base文件夹无论如何也删不掉。
方法一:
只好剪切 .svn文件夹,移到其他地方,然后再删,一切就都OK了。
方法二:
卸载svn。
方法三:
新建文本文件,输入以下内容,改为.reg后缀,双击运行,加入到注册表信息中。右键就会出现Delete SVN folders的选项,可以清除SVN的文件夹。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
......
VS2008 read only(2010-03-17 18:40:00)
摘要:"add/remove operation is impossible, because the code element 'Cxxx' is read only" 的解决办法
1) Close current project2) Enter the directory where the project located3) delete the .ncb and .suo file4) reopen the project......
VA1709的问题(2009-05-31 17:24:00)
摘要:VA各个版本的区别还是蛮大的,有关一些版本的比较请参见:
http://www.cnblogs.com/wondering/archive/2009/05/26/1489405.html
本文主要讨论VA1709的问题。
1、VA1709在VS2008下是可以使用的。
2、建议安装VC6.0前,首先卸载干净VA。还有一个要注意,在安装VC6之后,先不要急着安装VA,可以先打开VC6,按照自己的爱好调整一下默认设置。例如,调整源代码窗口的背景色和其他等。因为本人曾经试过,在安装VC6.0之后直接安装VA,然后打开,改变了源代码窗口的默认背景色为灰色,结果发现VA的关键字颜色再也不起作用了!......
VC快速Browse变量与函数的问题(2009-05-15 17:28:00)
摘要: 很多编程初学者都知道,要想知道一个变量或者函数的声明与定义,可以选中直接右击,弹出右键菜单,然后选择“Go to definition of ...” 或者 “Go to reference of...”。当然高手知道直接用快捷键F12 与 Shift + F12. 但是有时候这一招却不灵,比如弹出这样的提示“... is undefined”.
来说明一个原因。这个Browse与Find in Files不同。Find In Files直接找到所有的引用地方,而不进行分类,如是定义还是声明还是调用等。因此Browse需要专门的Browse Info文件(浏览信息文件)的支持。这是在编译时候生成的。对于一个工程中的每个程序文件,都可以生成一个sbr文件记录了这些信息。然后BSCMAKE工具会将所有的sbr合成为一个bsc文件。这里需要注意,sbr属于Intermediate File,而bsc属于output file。
为了确保是否工程生成bsc,需要在project settings里面切换到C/C++页,然后genereal选项,选择“Generate Browse Info”可以生成sbr,这样可以保证bsc的合成。另外在Browse Info页有“build browse info”项,是方便每次编译时会自动更新bsc文件。注意,生成sbr与bsc的过程会大大降低编译的速度。因此可以选择在生成bsc文件后不进行更新了,只用于浏览即可(只要不物理删除bsc文件)
当然上述的这种快速浏览变量和函数现在已经出现了替代的方法。例如安装了Visual Assist之后,让鼠标在选中变量或者函数名上停留几秒,就会弹出下拉箭头提示,然后单击可以弹出菜单,可以选择“Find references”来寻找相关。
还有一种笨方法就是直接去h或者cpp里面找了。可以利用visual Assi......
vc 国际化的资源文件处理(2009-02-10 11:27:00)
摘要:vc 国际化的资源文件处理- -
MS Windows操作系统是一个世界上广泛使用的操作系统,对于不同语种的国家MS Windows有相应语种的版本。在不同语种的Windows平台上应该运行相应语种的应用程序。也就是说程序的用户界面(如菜单、对话框、状态条)中的提示文字应该使用和Windows操作系统所使用的语种一致。当然英语用户界面的程序可以运行在其它语言平台上,但比较复杂的程序或多或少都有问题,如对话框的尺寸不对,特殊的ASCII字符显示为文字,输入字符串可能会导致死机等。如果不一致却还想使用,则需要动态翻译软件。例如,在英文Windows平台上运行中文版的MS Office就需要像中文之星或四通利方这样的中文动态翻译软件。
当前国内使用的MS Windows在语种上划分主要有简体中文版和英文版两种。为了让开发的软件能在这两种平台上使用,提出了三种解决方案:第一种解决方案是仅编写中文界面的程序。在中文Windows上程序可以运行(这里的运行是指程序界面不出现乱码),在英文Windows上依靠中文之星或四通利方这样的中文动态翻译软件也可以运行。第二种解决方案是针对中文版和英文版各编一个程序,即在第一种方案的基础上增加了英文版,这样做有两点好处:一是英文Windows平台上运行英文版的软件比英文Windows平台上运行中文版的软件稳定,因为没有像中文之星或四通利方这样的中文动态翻译软件的参与。第三种解决方案是自动根据操作系统的语种选择相应的界面语种。也就是说,同一个软件在中文Windows上显示中文界面,在英文Windows上显示英文界面。这种方案相对于第二种方案的好处在于:程序不用做英文版和中文版两个版本,只要一个版本就可以了,对于用户来说是很方便的。在这三种方案中,前一种是后一种的基础,后一种实现了,前一种也就已经实现了。下面将从易到难介绍三种方案实现的步骤和要点。
解决方案一、自动生成中文界面框架
Visual C++6.0版本中可以使用APPWIZARD自动生成具有基本中文界面的WIN32应用程序。使用APPWIZARD时,在自动生成的第一个步骤中,将资源类型选择为简体中文就可以了,可参见图1。其余选项都不涉及语种问题,根据应用程序的具体情况进行选择即可。然后在此基础上作进一步的软件开发工作。
如果你在一边读文章一边上机......