公司项目的后台是使用Tuxedo作为中间件,以及Pro*C来实现业务功能,后台服务器系统为RHEL。
Linux编程我想一般的大牛都是使用VI或者Emacs。我不是大牛,虽然Vi也会,确实好用,不过介于项目代码量太大,代码跳转查看不方便,我还是选择使用IDE来进行编程吧。
Linux下有六款比较常用的C的IDE:Anjuta,netbeans,Eclipse;Qt;Code::Blocks;Geany。特性我就不介绍了,感兴趣自己Google。
为什么我要选择Code::Blocks呢,本来想用Qt的,最好用的跨平台IDE,可是能力有限。。。在RHEL5.4下装了半天没装成。netbeans,Eclipse,启动什么的太慢,还是算了吧,然后就选择了可定制性比较高的Code::Blocks。
1、安装Code::Blocks
首先是安装,在RedHat下最简单的安装方式就是找到rpm包进行安装了。由于Code::Blocks是需要安装wxWidget才能使用。。所以安装wxWidget。
1.1、安装wxWidget
需要两个包wxBase,wxGTK。
可能你看到的时候版本更新了,可以直接到 http://mirror.facebook.net/fedora/epel/5/i386去查询
下载地址 http://mirror.facebook.net/fedora/epel/5/i386/wxBase-2.8.12-1.el5.i386.rpm
http://mirror.facebook.net/fedora/epel/5/i386/wxGTK-2.8.12-1.el5.i386.rpm
安装
rpm-ivh wxBase-2.8.12-1.el5.i386.rpm
rpm -ivh wxGTK-2.8.12-1.el5.i386.rpm
1.2、安装Code::Blocks
同样两个包
下载地址 http://mirror.facebook.net/fedora/epel/5/i386/codeblocks-10.05-1.el5.i386.rpm
http://mirror.facebook.net/fedora/epel/5/i386/codeblocks-libs-10.05-1.el5.i386.rpm
安装
rpm -ivh codeblocks-10.05-1.el5.i386.rpm
rpm -ivh codeblocks-libs-10.05-1.el5.i386.rpm
2、安装中文包
地址就不放了,在csdn上搜索codeblocks 10.05 汉化 就能找到。
安装方法
mkdir/usr/share/codeblocks/locale/
mv ./zh_*/usr/share/codeblocks/locale/
在codeblocks的主菜单 Settings-->Environment-->view 选上Internationalization (need restart)并选择Chinese(Simplifed)即可,当然这汉化是不全的。
3、Tuxedo Pro*C程序编译
3.1、建立工程
选择Empty project 空项目,然后新建*.pc文件和*.h,或者添加已有的文件。
Code::Blocks是不支持pc文件高亮显示的,需要 设置-->编辑器-->语法高亮-->文件掩码 添加*.pc
3.2手动建立*.c文件
Pro*C文件最后是转为C文件进行编译的,为了让Code::Blocks能找到转换后的C文件,我们手动新建添加进工程(此时还没有C文件),另外C文件要和同名的PC文件在同一目录下。C文件是空的,不用管它。
3.3自定义链接器
因为涉及到Tuxedo,Tuxedo在服务端程序链接是用buildserver命令生成的,而Code::Blocks默认是不支持的,但Code::Blocks的扩展性实在强大,我们可以自己定义。
选择设置-->编译器和调节器,在选择编译器中点击复制(按GNUGCC复制),命名为Tuxedo Compiler
然后就选择可执行工具链,在动态链接器中选择Tuxedo安装目录的bin目录下的buildserver。
接下去点击其他设置最下面的高级设置,在Command中选择最下面的LinkObject files to native excutable,命令行宏中填写$linker$link_option 这是配置链接器执行命令
这样链接器就配置好了
3.4项目设置
接下去是对项目设置,使项目按照正确的顺序执行正确的命令。
首先右击项目——>属性 ,构建目标,类型选Native。
然后右击项目——>构建选项,左边选择项目或者Debug都可以。
选择的编译器为刚才建立的Tuxedo Compiler 转到链接器在 其他链接器选项中 输入 buildserver命令应该需要的选项 。这个如果用Makefile编译Tuxedo程序应该都知道怎么填写,不知道请自行查阅Tuxedo资料。这里可以用自定义变量(在定制变量页中添加),也可以使用Code::Blocks内置的宏,相关宏请参考上图,编译器高级选项。
转到搜索路径也,添加编译时需要寻找源文件的目录,必要的两个应该是Tuxedo的include目录和oracle的precomp 下的public目录,其他有需要自行添加。
然后转到构建前后附加步骤这一tab页,这里在构建前步骤中填写proc命令,目的是在编译链接前将pc文件转成c文件。请自行参考proc命令写法。或者直接将预编译写成Makefile,然后这里填写make,在文件很多的时候比较省事。
4、总结
以上就是所有步骤,如果没有错误的话,就应该能编译,链接产生Tuxedo可执行文件。