Ubuntu下CodeBlocks的安装、配置及静态库动态库的简单使用举例

来源:互联网 发布:nba2k18mc捏脸数据 编辑:程序博客网 时间:2024/05/16 02:32

1、  从Ubuntu Software Center中搜索Code::Blocks并安装;

2、  在第一次启动时选择GNU GCC Compiler作为默认的编译器;

3、  生成静态库并调用操作步骤,代码同 http://blog.csdn.net/fengbingchun/article/details/17994489

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 正确。
0 0
原创粉丝点击