环境:ubuntu14 + Eclipse C/C++ neon
一、创建动态库:
1.打开Eclipse创建新项目
2.设置如下项目名称为test_lib,创建动态库所以选择Shared Library, 为了方便测试编译工具Toolchains我们选择x86架构,点击Next.
3.进入设置界面选择配置,选择Debug, 点击Advanced Settings会弹出右边窗口,可以进行参数配置,这里我们选择默认配置,直接点击Finish
4.项目创建完成如下:
5.右键创建src目录,src目录里面新创建两个源文件如下:
6.向test_lib.h里添加如下内容:
#ifndef SRC_TEST_LIB_H_
#define SRC_TEST_LIB_H_
#include <stdint.h>
#include <time.h>
#if (defined WIN32 || defined _WIN32 || defined WINCE)
#define AB_EXPORTS __declspec(dllexport)
#else
#define AB_EXPORTS extern
#endif
#ifdef __cplusplus
extern "C" {
#endif
AB_EXPORTS int test(void);
#ifdef __cplusplus
};
#endif
#endif /* SRC_TEST_LIB_H_ */
向test_lib.c里面添加如下内容:
#include <stdio.h>
#include "test_lib.h"
int test(void)
{
printf("Helloworld\n");
return 0;
}
7.右键编译项目得到动态库libtest_lib.so
二、调用动态库:
1.同理创建一个调用动态库的Demo如下,由于demo为可执行程序,故项目类型选择Executable,然后直接点击Next
2.选择Debug,点击Finish完成项目创建
3.创建完成如下:
4.创建src目录,将动态库的头文件test_lib.h复制到test_demo的src目录下,在src目录下创建一个libs目录,将生成的libtest_lib.so复制到libs,新建源文件demo.c内容如下:
5.此时还不能编译,还需要给编译器配置库文件路径,选择test_demo,右键属性,弹出如下窗口:
6.添加Library search path和指定需要调用的Library
7.点击Apply-->OK完成配置,右键编译项目生成可执行文件test_demo