该文档是介绍在linux系统下,安装c/c++的eclipse开发环境IDE, 并在此条件下,引入wxWidgets, 从而实现Linux下的基于wxWidgets第三方库的图形化程序设计;
转载请注明出处
Reference:
Linux下安装wxWidgets
http://blog.csdn.net/jiangxinyu/archive/2007/05/30/1630671.aspx
http://blog.csdn.net/RobinKin/archive/2005/02/25/301730.aspx
http://blog.csdn.net/lonesomer/archive/2007/06/05/1639406.aspx
Eclipse + CDT + MinGW 安装方法http://www.cnblogs.com/oomusou/archive/2006/11/10/557066.html
为Linux手动下载和安装Java Runtime Enrironment(JRE)的说明
http://www.java.com/zh_CN/download/help/5000010500.xml
Eclipse 3.0 CDT on Linux
http://www.autexier.de/jmau/dev/CDT/cdt.html
http://blog.csdn.net/wooin/archive/2006/06/12/791010.aspx
由Linux Distribution安装Eclipse,Fedora 5就内含Eclipse和CDT。
下载JRE(Java Runtime Environment) 。
(http://java.sun.com/javase/downloads/index.jsp)
i. [root@localhost ~]#mkdir /usr/local/java
ii. (将档案jre-1_5_0_09-linux-i586-rpm.bin下载到/usr/local/java目录下)
iii. (超级用户模式)
[root@localhost ~]#su
iv. [root@localhost ~]#cd /usr/java
v. (将您所下载的档的权限更改为可执行)
[root@localhost java]#chmod a+x jre-1_5_0_09-linux-i586-rpm.bin
vi. (启动安装过程)
[root@localhost java]#./jre-1_5_0_09-linux-i586-rpm.bin
(此时将显示二进制许可协议,按控格显示下一页,读完许可协议后,输入 『yes』继续安装。此时会将解压缩,产生jre-1_5_0_9-linux-i586.rpm)
vii. (安装jre-1_5_0_9-linux-i586.rpm)
[root@localhost java]#rpm –ivh jre-1_5_0_9-linux-i586.rpm
(此时会将JRE装在/usr/java/jre1.5.0_09目录下)
viii. (设定环境变量,让Linux能找到JRE)
[root@localhost java]#vi /etc/profile
(将以下内容加入在档案后面)
1PATH=$PATH:/usr/java/jre1.5.0_09/bin
2export JAVA_HOME=/usr/java/jre1.5.0_09
3export CLASSPATH=$JAVA_HOME/lib:.
(存盘后,重新启动Linux)
ix. (测试Java是否安装成功)
[root@localhost ~]#java –version
下载Eclipse SDK。(http://www.eclipse.org/downloads/)
i. (将档案eclipse-SDK-3.2.1-linux-gtk.tar.gz下载到桌面)
ii. [root@localhost ~]#cd /usr/local
iii. [root@localhostlocal]#cp~Desktop/eclipse-SDK-3.2.1-linux-gtk.tar.gz .
iv. (将eclipse-SDK-3.2.1-linux-gtk.tar.gz解压缩)
[root@localhost local]#tar –zxvf eclipse-SDK-3.2.1-linux-gtk.tar.gz
v. [root@localhost local]#cd eclipse
vi. (执行Eclipse)
[root@localhost eclipse]#./eclipse
vii. (Select a workspace)
(将Use this as the default and do not ask again打勾,以后就不会出现这个窗口)
(第一次执行Eclipse会出现此error,因为没有任何Eclipse设定档,所以无法读取,第二次执行Eclipse就无此错误讯息,按OK继续。)
(Eclipse主画面)
下载CDT。(http://www.eclipse.org/cdt/downloads.php)
i. (将档案org.eclipse.cdt-3.1.1-linux.x86.tar.gz下载到桌面)
ii. [root@localhost ~]#cp ~/Desktop/org.eclipse.cdt-3.1.1-linux.x86.tar.gz .
iii. (将org.eclipse.cdt-3.1.1-linux.x86.tar.gz解压缩)
[root@localhost ~]#tar –zxvf org.eclipse.cdt-3.1.1-linux.x86.tar.gz
(档案将解到~/eclipse目录下)
iv. (安装CDT plugin)
[root@localhost ~]cp –r eclipse/plugins/. /usr/local/eclipse/plugins/
v. (启动Eclipse,多了C和C++ Project支持)
i. 建立Hello Word project
1. 建立C/C++ project
2. 选择Managed Make C++ Project(若选择Managed Make C++ Project,Eclipse会自动为我们建立make file;若选择Standard Make C++ Project,则必须自己写make file。)
3. 输入Project name
4. 选择Project类型(如执行档或Library,这里选择执行档即可)
5. 额外的设定
6. Open Associated Perspective?(选Yes继续)
7. 建立C++ Source File
8. 输入C++ Source File檔名
9. 输入C++程序代码
10. 执行程序(显示在下方的Console区)
ii. 如何在Eclipse CDT中Debug C/C++程序?
1. 在Eclipse中Debug,就如同在一般IDE中Debug一样,只要在程序代码的左方按两下,就可加入breakpoint。
2. 启动Debug
3. Debug设定,按Debug开始Debug
4. 单步执行,显示变量变化
Eclipse为Linux在C/C++开发提供一个完善的IDE环境,事实上,以我用过众多IDE的经验,除了Visual Studio最方便外,Eclipse的好用也直追Visual Studio,并且超越Borland C++ Builder及Dev C++,虽然安装上比较麻烦,但只要依照本文介绍一步一步的设定,就一定可完成Eclipse设定,若想要在Windows平台使用gcc compiler,也建议使用Eclipse + CDT + MinGW的组合。
下载档案
http://www.wxwidgets.org/downloads/
ftp://ftp.wxwidgets.org/pub
安装
把wxwidgets-2.8.4-tar.gz下载到root目录
#cd /root
#cp wxwidgets-2.8.4.tar.gz /usr/local
#cd /usr/local
#tar xvfz wxwidgets-2.8.4.tar.gz
#cd wxwidgets-2.8.4
#mkdir mybuild
#cd mybuild
#.././configure –disable-shared
#make
#make install
#ldconfig
卸载
#cd /usr/local/wxwidgets-2.8.4/mybuild
#make clean
#make uninstall
#cd /usr/local
#rm –rf wxwidgets-2.8.4
测试wxwidgets的正确安装
#wx-config
#cd /usr/local/eclipse/./eclipse
i.standard Make C++ Project
在Eclipse中新建一个项目,选择项目类型为standard Make C++ Project (意味着要自己写相应的makefile ),项目名为HelloWorld,其余全部可以保持缺省设置。
在HelloWorld项目中建立C++源程序文件和头文件:helloworld.h和helloworld.cpp,其内容如下:
Helloworld.h
#ifndef HELLOWORLD_H_
#define HELLOWORLD_H_
class BasicApplication : public wxApp {
public:
virtual bool OnInit();
};
class BasicFrame : public wxFrame {
public:
BasicFrame( const wxChar *title,
int xpos,
int ypos,
int width,
int height);
~BasicFrame();
};
#endif /*HELLOWORLD_H_*/
Helloworld.cpp
#include
#include "helloworld.h"
IMPLEMENT_APP(BasicApplication)
bool BasicApplication::OnInit() {
BasicFrame *frame = new BasicFrame("Hello World!",50,50,450,300);
frame->Show(TRUE);
SetTopWindow(frame);
return TRUE;
}
BasicFrame::BasicFrame(const wxChar* title,
int xpos,
int ypos,
int width,
int height)
: wxFrame((wxFrame *) NULL,
-1,
title,
wxPoint(xpos,ypos),
wxSize(width,height)
) {}
BasicFrame::~BasicFrame() {
}
在File -->New --> file
命名为makefile,其内容如下:
CXX=$(shell wx-config --cxx)
PRGM=HelloWorld
SRC=$(PRGM).cpp
OBJS=$(PRGM).o
.SUFFIXES:.o .cpp
.cpp.o:
$(CXX) -c `wx-config --cxxflags` -o$@ $<
all:$(PRGM)
$(PRGM):$(OBJS)
$(CXX) -o$(PRGM) $(OBJS) `wx-config --libs`
clean:
rm -f *.o $(PRGM)
然后选中工程HelloWorld, 右键 à Properties
à c/c++ Make Project
àDiscovery options
在load build output from file栏下面选择之前写的makefile,这样在Make Builder下出现的all,clean变量就对应于makefile中的all 和clean 等make规则的目标。
Project àbuild project 等价于 make –f makefile
àclean 等价于 make clean
ii. managed Make C++ Project
在Eclipse中新建一个项目,选择项目类型为managed Make C++ Project (意味着要自己写相应的makefile ),项目名为HelloWorld,其余全部可以保持缺省设置。
在HelloWorld项目中建立C++源程序文件和头文件:helloworld.h和helloworld.cpp,其内容同上。
配置HelloWorld项目:
HelloWorld项目, 右键 à Properties
进入C/C++ Builder;
修改GCC C++ 编译器选项,(根据linux下,#wx-config –-cxxflags设置)
Miscellaneous: -c `wx-config --cxxflags`
或者根据linux中,#wx-config –cxxflags 显示的gcc c++ compiler的选项参数,修改GCC C++ Compiler下面的相应项;
修改GCC C++ Linker,(根据linux下,#wx-config –libs设置)
Miscellaneous:-pthread
不能如同GCC C++ Compiler那样,直接使用
#wx-config –-libs;
Libraries: -L 动态库和静态库搜索路径;
-l 具体的动态库和静态库名称,要按照 linux 下, #wx-config –-libs 命令的顺序,从右至左输入动态库和静态库(动态库和静态库设置方法是一样的);