这是一篇以前的文章,现在我们已经不再继续使用devcpp,所以这篇文章应该不会再继续更新,
如果你还在使用devcpp,建议您更换到codeblocks!
前言:为什么要使用devcpp?
阿彬建议使用CODE::BLOCKS(http://www.codeblocks.org/),下载试用了一下,在
我的老机器上跑还是有点慢,我这台老机器用8年了,而我近5年内也没有换新计算机的打
算! 所以最终依旧选择devcpp。其实除了devcpp外,还有很多种开发环境,开源的
CODE::BLOCKS是不错的选择,当然VC,BC...可依据开发目的和习惯来选择,只要够用
就好!下面进入正题...
Author : He YiJun (storysnail<at>gmail.com QQ:363559089)
Develop Team : 7fane Team
Editor : Yang QiuXi
Art Designer : He YiJun
License : 7fane Team License 1.0
Last Update : 2012-12-20
一:安装devcpp IDE和GTK+开发包
1:到http://sourceforge.net/p/devcpp/home/Home/下载最新版的devcpp IDE,我下的
文件名是devcpp-5.0.0.0_setup.exe,在文件名上可能不同,不过这软件更新很慢!
之后运行安装文件,一步步安装到结束。
2:到http://www.gtk.org/下载GTK+开发包,注意是下载all-in-one bundle,我下的文
件名是gtk+-bundle_2.24.10-20120208_win32.zip;当然你喜欢一个个下也行,那是
性格问题了!下载完成后将其解压,解压后得到的文件我放到了C:\Dev-Cpp\gtk+目录
下,注意这个gtk+目录是我自己建的.
二:设置环境变量
我是建立在"用户变量"里了,当然你也可以建立在“系统变量”里,按新建,依次添加,
注意如果变量名已经存在,例如PATH,那就按编辑按钮,然后在原有的变量值后面加入
新的变量值,每个变量值之间用分号隔开。
变量名 变量值
GTK_HOME C:\Dev-Cpp\gtk+
INCLUDE C:\Dev-Cpp\gtk+\include
LIB C:\Dev-Cpp\gtk+\lib
PATH C:\Dev-Cpp\gtk+\bin;C:\Dev-Cpp\bin
三:配置devcpp
启动Dev-Cpp,点击“工具”–>“编译器选项”–>“目录”,注意devcpp5的“编译器选项”实际
为“编译选项”,这是翻译的错误,请大家自觉无视。
1:选择“二进制”标签
加入GTK+ bin的路径
C:\Dev-Cpp\gtk+\bin
2:选择“库”标签
加入gtk+ lib的路径
C:\Dev-Cpp\gtk+\lib
3:选择"“C包含文件”标签
加入GTK+ include的路径
C:\Dev-Cpp\gtk+\include
C:\Dev-Cpp\gtk+\include\atk-1.0\atk
C:\Dev-Cpp\gtk+\include\cairo
C:\Dev-Cpp\gtk+\include\gdk-pixbuf-2.0\gdk-pixbuf
C:\Dev-Cpp\gtk+\include\glib-2.0
C:\Dev-Cpp\gtk+\include\gtk-2.0\gtk
C:\Dev-Cpp\gtk+\include\gtk-2.0\gdk
C:\Dev-Cpp\gtk+\include\pango-1.0\pango
C:\Dev-Cpp\gtk+\lib\gtk-2.0\include
C:\Dev-Cpp\gtk+\lib\glib-2.0\include
我暂时只用到这些,用到其它的时候再加
四:写代码,配置编译选项
1:写代码,建个工程,随便从网上找段gtk+2.0的代码,这里省略。
2:打开"命令提示符“窗口,输入下面的命令
C:\>pkg-config --cflags gtk+-2.0
///////////////////////这是命令输出//////////////////////////////////////////////
-mms-bitfields -IC:/Dev-Cpp/gtk+/include/gtk-2.0 -IC:/Dev-Cpp/gtk+/lib/gtk-2.0/i
nclude -IC:/Dev-Cpp/gtk+/include/atk-1.0 -IC:/Dev-Cpp/gtk+/include/cairo -IC:/De
v-Cpp/gtk+/include/gdk-pixbuf-2.0 -IC:/Dev-Cpp/gtk+/include/pango-1.0 -IC:/Dev-C
pp/gtk+/include/glib-2.0 -IC:/Dev-Cpp/gtk+/lib/glib-2.0/include -IC:/Dev-Cpp/gtk
+/include -IC:/Dev-Cpp/gtk+/include/freetype2 -IC:/Dev-Cpp/gtk+/include/libpng14
///////////////////////这是命令输出//////////////////////////////////////////////
C:\>pkg-config --libs gtk+-2.0
///////////////////////这是命令输出//////////////////////////////////////////////
-LC:/Dev-Cpp/gtk+/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpang
owin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobje
ct-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
///////////////////////这是命令输出//////////////////////////////////////////////
3:启动Dev-Cpp,点击“工具”->“编译器选项”–>“编译器”,然后:
(1)勾选“编译时加入以下命令”,然后在编辑框内输入上面第一个命令输出的内容,
这里要注意从”命令提示符“窗口复制的内容会有回车断行,将那些回车删除,以
保证内容的完整。
(2)勾选“在连接器命令行加入以下命令”,然后在编辑框内输入上面第二个命令输出的
内容,同样要注意复制到编辑框里的内容的完整.
五:其它问题
1:我遇到的问题
按理说,我使用XP,不应该会遇到这个问题,不过出现还是要解决的,否则就太没面子了!
问题描述:
gcc.exe: installation problem, cannot exec `cc1 ': No such file or directory
原因:
没找到cc1程序
解决方法:
在C:\Dev-Cpp\libexec\gcc\mingw32\3.4.5目录下有个“cc1plus.exe”,复制它,会得到
“复件cc1plus.exe”,重命名“复件cc1plus.exe”为"cc1.exe".
2:我没遇到的问题,在网上拷贝的,留存备用.
//////////////////////////////////////////////////////////
不能调试问题
描述:make.***[Main.o]Error 1
原因:Dev C++使用的是gdb调试器,要想使用gdb调试,必须加上这个参数:-g
解决方法:
1)在“工具”-》编译选项-》"Add following commands when calling complier"
下面的编辑框里加上:-g3
2)在下面的"Add these commands to the linker command line" 下的编辑框上
加上:-g3
3) 转到programs页,把gcc行修改为:gcc.exe -D__DEBUG__
4)把g++行修改为g++.exe -D__DEBUG__ ,点击ok。
///////////////////////////////////////////////////////////////////
an access violation segmentation fault raised in your program
原因:指针溢出
///////////////////////////////////////////////////////////////////
new types may not be defined in a return type
原因:类声明错误
解决方法:末尾加上分号
class B:public A{
public:
void print(){cout<<"this is b"<<endl;}
};
///////////////////////////////////////////////////////////////////
'for' loop initial declaration used outside C99 mode
原因:C99,C++支持 for(int i = 0;i < 10;i++)......
C98 only support
int i;
for(i = 0;i < 10;i++)
解决方法:把声明提出来,查了一下dev c++支持c99标准,搞不懂为什么不行
///////////////////////////////////////////////////////////////////
dev c++ 运行是dos窗口一闪就消失问题
return前 加上getch(),当然system("pause") 也一样。
7fane Team 协议 1.0 中文版
当您阅读、理解并愿意遵守以下条款时,您就拥有了获取、使用、复制、分发或通过通信
网络传播7fane Team作品的权利。
1. 7fane Team的作品可以在非商业用途下免费使用。
2. 如果软件提供了源代码,那么你可以更改源代码或软件接口以适应你的应用。
3. 在未获得7fane Team的授权之前,你不可以在商业用途下使用7fane Team的作品,
也不可以将7fane Team的作品用于营利为目的的活动。关于获得许可,请发送Email
到[email protected]以获取更多信息。
4. 你不得租赁,再许可,出售,转让,抵押7fane Team的作品和服务。
5. 你不得删除或修改7fane Team作品的版权信息和相关的链接,例如网址信息或“关于窗口”
中的所有信息,除非您已经获得7fane Team的书面授权。
6. 你不可以通过修改7fane Team的作品来获得衍生作品,更不可以重新分配这些衍生作品。
7. 如果您不能遵守本协议,您的许可将被终止,您必须停止使用并删除7fane Team作品及其
副本,并且不可以再继续获取、使用、复制、分发或通过通信网络传播7fane Team作品。
8. 7fane Team拥有并保留修改本协议的权利和在本协议修改后不另行通知的权利。修改后
的新协议将适用于新的许可用户。
9. 7fane Team作品是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。
10.7fane Team对于使用其作品而生成的任何信息不承担任何责任,也不会对传播或使用
这些信息承担责任。
11. 用户出于自愿而使用本7fane Team作品,您必须了解使用的风险,我们不承诺对用户提供
任何形式的技术支持、使用担保,所以你必须承担全部风险。
关于 "7fane Team作品" 的定义:
"7fane Team作品" 包括文本、图像、音频视频、软件等由7fane Team创作的一切。
版权所有 (c)2001-2012,7fane Team 保留所有权利。