设为首页收藏本站

如鹏网

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 17991|回复: 64

升级C-Free,从优秀到卓越

[复制链接]

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2008-10-16 00:02:18 |显示全部楼层
为了降低初学者的学习门槛,如鹏网制作出了“如鹏免配置版C-Free”,初学者不用再费力进行本文中讲的配置步骤。初学者可以直接下载下面的“如鹏免配置版C-Free”:
http://down1.rupeng.com/download/software/RuPengCFree41R1.rar

下面的文章仅供研究“如鹏版C-Free”制作原理的同学阅读,不推荐初学者阅读。
==========================================================================================

C-Free是一个非常好用的C/C++开发工具,由于C-Free的内置组件比较老,而且一些设置不太合理,所以要发挥C-Free的最大优势还要对其进行设置上的调整。
本文中的C-Free使用的是4.1版本。
本课程开发工具下载及配置说明咱们讲课用的是C-Free4.1 ,下载地址:
http://www.namipan.com/d/7dade48f3374857fea57205f324385ec662d83be40c87200
(推荐这个)
http://download.csdn.net/source/672340
http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=4446144
http://down1.jsj321.com/download/software/c_free4.1c.zip

注意:有同学反应在下载完成C-Free后,杀毒软件提示有病毒,那是因为安装包里有破解补丁,“正义的杀毒软件”就把破解补丁当成病毒了,别管它。

一、升级MinGW
    C-Free使用的内置版本的MinGW是2.95版本的,这个版本已经非常老了,对于C/C++的新语法、新格式的资源文件、新格式的对话框资源等都支持非常差,特别是如果要开发基于对话框的Windows程序的话只能使用C-Free内置的那个老古董级别的DialogEditor,不支持ResEd、ResEditor等新一代的资源编辑器。因此强烈建议大家升级MinGW的版本,我推荐大家使用MinGW3.4.5。
    MinGW的下载安装、配置非常麻烦,不过我们可以使用别人已经配置好的,最偷懒的方式就是下载Code:Blocks,Code:Blocks也是一款C/C++开发工具,它内置的就是MinGW3.4.5。可以下载带MinGW的Code:Blocks,安装后提取安装目录下的MinGW目录就可以了。为了方便大家,JSJ321学习社区(www.jsj321.com)将提取出来的MinGW打包上传到了网上,懒得下载Code:Blocks的朋友直接到下面地址下载即可:
下载地址1:http://down1.jsj321.com/download/software/MinGW3.4.5jjb.zip

下载完成后将MinGW解压到磁盘上,比如我解压到D:\greeninst\MinGW3.4.5 。注意解压后的路径以及文件夹中不能含有中文或者空格(比如“D:\Program Files\MinGW3.4.5\”或者“c:\MinGW3.4.5(简化版)”),否则运行会有问题。
这也是提醒大家:软件特别是编程软件还多都是老外做的,他们对中文考虑很差,所以软件对中文也支持很差。为了避免不必要的麻烦,建议大家使用软件的时候文件名、目录名什么的尽可能不要含有中文。

运行C-Free,选择主菜单的【构建】→【构建选项】,弹出如下的对话框

    确保"构建配置"中选中的是"mingw2.95",然后点击右侧的向右箭头的按钮

点击【删除配置】菜单项,在弹出的确认对话框中选择【确定】按钮即可将旧的MinGW2.95删除了。
接着再次点击那个向右箭头的按钮,点击【新建配置】菜单项,弹出下面的对话框

"编译器类型"选中"MinGW"(注意不是"MinGW(Old)",不要弄错了),配置名称中输入"MinGW3.4.5",然后点击【确定】按钮。然后系统会显示下面的对话框:

点击【确定】按钮即可,会接着弹出下面的对话框要求你选择MinGW3.9.5的位置:

选择你的MinGW3.4.5解压的目录即可,比如我这里的目录就是:D:\greeninst\MinGW3.4.5。选择好了以后点击【确定】按钮。系统会弹出下面的对话框:

点击【确定】按钮即可。配置完成的界面如下:

点击【确定】按钮即可以完成最终配置。
从此我们就可以使用MinGW3.4.5做为C-Free的编译器了。
有更多问题,欢迎到"专为计算机专业在校大学生服务"的学习社区JSJ321.com提问。
二、旧工程怎么迁移到MinGW3.4.5呢?
以前用MinGW2.9.5开发的工程如果用配置了MinGW3.4.5的C-Free打开以后并不会自动应用新的MinGW3.4.5编译器,需要手工升级。升级方式如下:
打开工程,在工程上点击右键

选择【工程设置】菜单项。在弹出对话框中点击那个右键头按钮:

在菜单中选中【从全局构建配置复制】,弹出下面的对话框:

选择"MinGW3.4.5"然后点击【确定】按钮即可完成升级。
二、升级资源编辑器
C-Free内置的是老掉牙的DialogEditor,这个编辑器只能编辑老格式的对话框资源文件、内置的控件非常少、对中文支持不好,只能编辑对话框资源不能编辑图标、图片、菜单、工具条等资源,所以除了你想怀旧一下,否则请升级到更好用的资源编辑器。
这里推荐大家使用ResEd,这是一款非常好用的资源编辑器而且是中文界面的,提供几个下载地址:
http://www.duote.com/soft/1184.html
http://download.pchome.net/development/linetools/detail-86253.html
http://www.namipan.com/d/e856806c60616f9a54c52ab07f5ba46662118ecc53830100

http://down1.jsj321.com/download/software/ResEd.rar

    注意ResEd和ResEdit是两个软件,不一样的,不要混淆。

下载完成后将压缩包中的ResEd.exe解压到C-Free的安装目录下,如果你没有修改C-Free的安装路径的话,一般是"C:\Program Files\C-Free 4"。
解压完毕启动C-Free,点击主菜单的【工具】→【工具配置】,会弹出下面的对话框:

在"工具"列表中选中"对话框编辑器",将"工具"修改为"资源编辑器",将"程序"修改为"$(CFRoot)\ResEd.exe",将"参数"修改为"$(FileName)"。这表示当通过主菜单启动ResEd以后自动打开当前C-Free中正在编辑的资源文件。修改完成后如下图:

点击【确定】按钮。
以后就可以通过主菜单的【工具】→【资源编辑器】来启动ResEd了,而且如果当前C-Free中有rc、dlg等资源文件被打开的话ResEd还会自动打开此资源文件。
三、配置ResEd
    启动ResEd,点击主菜单【选项】→【详细设置】,将"名称输出格式"选择为"C-Defines",并且选中"保存时自动输出"。然后点击【确定】按钮,这样每次修改资源文件并保存的时候就会自动生成资源ID的定义文件了。
四、为什么代码自动提示不出来?怎么增加自动提示的数量?
【工具】→【编辑器选项】→【代码提示】。显示最大条数、输入几个字符后才激活。建议改成10、1

、怎么修改新建文件的默认文件名为c。
【工具】→【环境选项】、修改"新建文件类型"


2008年10月22日补充:
有同学反映说升级以后每次编译程序都会弹出“无法找到程序gcc.exe 你想手动定位这个程序吗”的对话框,如下:
3.jpg

我检查了一下他的C-Free配置,发现构建选项中的路径都编程灰色的了,如下:
2.JPG

原来他下载了MinGW的压缩包,然后解压到了桌面,然后按照本文中的方法更新了C-Free的MinGW,然后他认为解压后的东西没有用,就删掉了,所以造成了上面的问题。
注意解压后的MinGW不能删,建议把解压后的MinGW放到一个不碍眼的地方,否则一不小心又删掉了就麻烦了。
再次强调:MinGW的解压后的路径中不能有中文

2008年11月6日补充:
有同学反映在配置cfree时导入了resed,每次用  工具→资源编辑器 打开时都会提示“文件无法打开”如下图:
1.JPG

这是“中文括号的问题”,查看C-Free中的工具配置我们发现如下图:
2.JPG

将“$(FileName)”修改成“$(FileName)”就可以了。

27

主题

0

好友

4万

积分

超级版主

值班超版

Rank: 8Rank: 8

优秀版主勋章 三等功勋章 优秀建议勋章

发表于 2008-10-16 07:27:55 |显示全部楼层

0

主题

0

好友

151

积分

注册会员

Rank: 2

三等功勋章

发表于 2008-10-16 11:03:59 |显示全部楼层

0

主题

0

好友

333

积分

中级会员

Rank: 3Rank: 3

发表于 2008-10-16 13:10:12 |显示全部楼层
我设的是使用vs2008的编译器,对标准的支持还不错
相信未来。

1

主题

0

好友

1489

积分

金牌会员

什么什么的?

Rank: 6Rank: 6

优秀建议勋章

发表于 2008-10-16 13:44:34 |显示全部楼层

0

主题

0

好友

489

积分

中级会员

Rank: 3Rank: 3

发表于 2008-10-19 10:55:45 |显示全部楼层
那个编译器无所谓啊,只要知识,呵呵,我可以移到vc上面

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2008-10-19 12:24:41 |显示全部楼层

回复 6# willweiwei 的帖子

恩,willweiwei的心态很好,:)

0

主题

0

好友

1933

积分

金牌会员

Rank: 6Rank: 6

发表于 2008-11-16 15:11:07 |显示全部楼层
升级资源编辑器的那一部分,其中的第二章图片的“程序”中的参数有错误,但是图片是正确的,应该是网站设计的问题吧!配置好了,但是添加monthview等控件后,运行是不由错误,但是不能显示对话窗口!很郁闷啊!

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2008-11-16 16:22:42 |显示全部楼层
你在WinMain一开始加入
LoadLibrary(TEXT("Comctl32.dll"));
试一下

0

主题

0

好友

1933

积分

金牌会员

Rank: 6Rank: 6

发表于 2008-11-16 21:47:30 |显示全部楼层
成功了,加上以后就出来了!只是不是很明白这个方法!为什么一定要加上它,它的作用是?有没有像J2SE的API之类的可以查的呢?

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2008-11-16 23:07:40 |显示全部楼层
以后讲“动态链接库”的时候会解释原因,现在可以认为“Comctl32.dll”是包含MonthView控件的一个库文件,程序要使用MonthView控件就要先引用“Comctl32.dll”,一般程序启动时会自动引用“Comctl32.dll”,但是有的修改版本的盗版windows不知怎么的不会自动引用,所以LoadLibrary(TEXT("Comctl32.dll"));就是在程序启动的时候手动引用。
这种解释方式不太严谨,仅供理解用。

0

主题

0

好友

1798

积分

金牌会员

Guitar

Rank: 6Rank: 6

发表于 2008-11-22 16:50:06 |显示全部楼层

vista下 装C-free出错啊!!

希望哪位大哥能帮帮我啊,我下了一个C-FREE4.1,但是还刚刚安装完4.1的安装程序,就弹出一个这样的错误。。。


   我是Vista home basic的系统            

   谢谢!!!
erroe.jpg

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2008-11-23 16:59:53 |显示全部楼层
C-Free需要管理员权限才能运行,在Vista下面默认程序不是以管理员身份运行的,所以需要“以管理员身份运行”,我这是xp,没法具体给你讲怎么弄,你上网搜一下“vista 以管理员身份运行”。建议还是用xp吧,别跟vista浪费时间浪费精力。

0

主题

0

好友

1393

积分

版主

Rank: 7Rank: 7Rank: 7

三等功勋章

发表于 2008-11-23 19:13:23 |显示全部楼层
如果问题出在需要以管理员身份登录的话,我知道怎么做,只要在c-free应用程序上单击右键,在右键菜单里选择“以管理员身份登录”就可以了!

0

主题

0

好友

1798

积分

金牌会员

Guitar

Rank: 6Rank: 6

发表于 2008-11-24 20:31:13 |显示全部楼层
后来不知道怎么的,又可以了,vista口味还真是不好调啊……

0

主题

0

好友

579

积分

高级会员

Rank: 4

发表于 2008-12-4 19:51:57 |显示全部楼层
升级了,做的好好的教程呀!谢谢拉!

0

主题

0

好友

46

积分

新手上路

Rank: 1

优秀建议勋章

发表于 2008-12-8 15:57:20 |显示全部楼层

0

主题

0

好友

1

积分

新手上路

Rank: 1

发表于 2008-12-31 19:54:05 |显示全部楼层

2003数据中心版的系统 貌似Free升级后不好用啊

2003数据中心版的系统 貌似Free升级后不好用啊杨老师请帮忙解决一下

3

主题

0

好友

1283

积分

金牌会员

Rank: 6Rank: 6

发表于 2009-1-10 22:26:25 |显示全部楼层
为什么编译出的程序按钮与VISTA的按钮不同呢~~?
我是在VISTA下编译的。

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2009-1-10 22:45:22 |显示全部楼层
新建一个文本文件,把下面这段XML代码粘贴进去
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly
  3. xmlns="urn:schemas-microsoft-com:asm.v1"
  4. manifestVersion="1.0">
  5. <assemblyIdentity
  6. processorArchitecture="x86"
  7. version="5.1.0.0"
  8. type="win32"
  9. name="test.exe"/>
  10. <description>Test Application</description>
  11. <dependency>
  12. <dependentAssembly>
  13. <assemblyIdentity
  14. type="win32"
  15. name="Microsoft.Windows.Common-Controls"
  16. version="6.0.0.0"
  17. publicKeyToken="6595b64144ccf1df"
  18. language="*"
  19. processorArchitecture="x86"/>
  20. </dependentAssembly>
  21. </dependency>
  22. </assembly>
复制代码


假设你的工程名是a33,在c:\Projects\a33下,那么一般你生成的exe在c:\Projects\a33\MinGW3.4.5,那么生成的exe就是a33.exe,把刚才建立的那个XML的文件拷贝到c:\Projects\a33\MinGW3.4.5下,并把名字改为a33.exe.manifest,这时候你可以运行a33.exe,看看是不是已经具有了Vista风格了?参考:http://www.vckbase.com/document/viewdoc/?id=596虽然一个是VC一个是C-Free,一个是XP一个是Vista,正所谓“一通百通”。

0

主题

0

好友

2326

积分

金牌会员

低调着活着的苍狼

Rank: 6Rank: 6

发表于 2009-1-11 09:10:29 |显示全部楼层

0

主题

0

好友

41

积分

新手上路

Rank: 1

发表于 2009-1-21 11:58:35 |显示全部楼层
为什么minGW3.4.5的两个链接都不能下载啊?哪位大侠传一个过来,让在下学习学习!多谢!
qq:85103184
邮箱:langren203@163.com

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2009-1-21 21:01:42 |显示全部楼层
访问网站首页http://www.jsj321.com/
在网页中部位置的“JSJ321精华资料”也有提供下载。

0

主题

0

好友

6221

积分

论坛元老

Rank: 8Rank: 8

发表于 2009-1-23 17:13:44 |显示全部楼层
file:///C:/Documents%20and%20Settings/Administrator/桌面为什么不能用ResEd

0

主题

0

好友

6221

积分

论坛元老

Rank: 8Rank: 8

发表于 2009-1-23 21:57:42 |显示全部楼层
我的那个resed他说是resed.exe应用程序错误~~为什么呀!!!

0

主题

0

好友

21

积分

新手上路

Rank: 1

发表于 2009-3-10 16:01:02 |显示全部楼层
太感谢老大了,一直想学C了

0

主题

0

好友

137

积分

注册会员

Rank: 2

发表于 2009-3-11 14:22:58 |显示全部楼层
为什么在下载完成后,杀毒软件提示有病毒呢,是不是真的有

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2009-3-11 14:55:29 |显示全部楼层
原帖由 guying800 于 2009-3-11 14:22 发表
为什么在下载完成后,杀毒软件提示有病毒呢,是不是真的有


那是因为安装包里有破解补丁,“正义的杀毒软件”就把破解补丁当成病毒了,别管他。

0

主题

0

好友

286

积分

中级会员

Rank: 3Rank: 3

发表于 2009-3-11 20:09:34 |显示全部楼层
我按上边说得仔细的安装了,怎么点资源编辑器没反应啊?

184

主题

0

好友

1万

积分

超级版主

Rank: 8Rank: 8

发表于 2009-3-11 20:25:32 |显示全部楼层
原帖由 msc 于 2009-3-11 20:09 发表
我按上边说得仔细的安装了,怎么点资源编辑器没反应啊?


肯定是你忘了把ResEd.exe拷贝到C-Free安装目录了吧
您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|如鹏网 ( 粤ICP备09013919号 )   360网站安全检测平台

GMT+8, 2012-5-19 16:01

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部