公司項目的後臺是使用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可執行文件。