1. 程式人生 > >Ubuntu下CodeBlocks的安裝、配置及靜態庫動態庫的簡單使用舉例

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 正確。