Ubuntu下CodeBlocks的安裝、配置及靜態庫動態庫的簡單使用舉例
1、 從Ubuntu Software Center中搜索Code::Blocks並安裝;
2、 在第一次啟動時選擇GNU GCC Compiler作為預設的編譯器;
3.1、New file ->Project… -> 選中Static library, -> Go -> Next: Project title:test_lib, Folder to create project in: /home/spring/CodeBlocks/ ,Project filename: test_lib.cbp, Resulting filename: /home/spring/CodeBlocks/test_lib/test_lib.cbp , Next->: Compiler: GNU GCC Compiler ,選中Create”Debug”configuration和Create”Release”configuration,其它預設, ->Finish;
3.2、將上面提到的include和src兩個資料夾複製到與test_lib.cbp同一目錄下;
3.3、改寫src包括的相關檔案,如#include“add.h”改為#include ”../include/add.h”等,移除工程中生成的main.c檔案,並將src和include的檔案全部載入到此工程中;
3.4、開啟此工程屬性設定 ->Build targets:Debug下,Output filename改為libtest_lib[linux_dbg_32].a, Release下,Output filename改為libtest_lib[linux_rel_32].a,編譯即可生成相應的靜態庫;
3.5、新建一個控制檯工程,工程名為CallStaticLibrary,其它預設,此工程main.cpp檔案內容為:
#include "../test_lib/include/hybrid.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a=10, b=200, c=-34, d=92;
int result = CalHybrid(a, b, c, d);
cout<<result<<endl;
return 0;
}
3.6、把靜態庫檔案連結到CallStaticLibrary工程中,選中工程,build options -> Debug(Release) -> Linker settings -> Add -> ../test_lib/libtest_lib[linux_dbg_32].a (../test_lib/libtest_lib[linux_rel_32].a),執行結果為 -6256 正確;
4、 生成動態庫並呼叫操作步驟:
4.1、Newfile ->Project… -> 選中Shared library, -> Go -> Next -> C++ -> Next: Project title:test_bin, Folder to create project in: /home/spring/CodeBlocks/ ,Project filename: test_bin.cbp , Resulting filename:/home/spring/CodeBlocks/test_lib/test_bin.cbp , Next ->: Compiler: GNU GCCCompiler ,選中Create”Debug”configuration和Create”Release”configuration,其它預設, ->Finish;
4.2、將上面用過的include和src兩個資料夾複製到與test_bin.cbp同一目錄下;
4.3、移除工程中生成的main.cpp檔案,並將src和include的檔案全部載入到此工程中,選中工程 ->Add files.. -> 選擇所需檔案;
4.4、開啟此工程屬性設定 ->Build targets:Debug下,Output filename改為bin/Debug/libtest_bin[linux_dbg_32].so, Release下,Outputfilename改為bin/Release/libtest_bin[linux_rel_32].so ,編譯即可生成相應的動態庫;
4.5、新建一個控制檯工程,工程名為CallDynamicLibrary,其它預設,此工程main.cpp檔案內容為與3.5相似,只把#include"../test_lib/include/hybrid.h"改為#include "../test_bin/include/hybrid.h"即可;
4.6、把動態庫檔案連結到CallDynamicLibrary工程中,選中工程,build options -> Debug(Release) -> Linker settings -> Add -> ../test_bin/bin/Debug/libtest_bin[linux_dbg_32].so (../test_bin/bin/Release/libtest_bin[linux_rel_32].so),執行結果為 -6256 正確。