最近研究动态链接库,搞了半天才明白
Mac下的动态链接库格式是*.dylib,创建动态库需要用xcode
xcode > 文件 > 新建 > 项目 > MacOS > 库 ,然后按照图片上进行修改,注意framework和type两项设置
然后右击项目,选择NewTarget,再添加一个c++和一个头文件,这里以求和为例
//Demo.h
#ifndef __DEMO_H__
#define __DEMO_H__
int add(int a, int b);
#endif
//Demo.cpp
#include "Demo.h"
#define EXPORT __attribute__((visibility("default")))
EXPORT
int add(int a, int b) {
return a + b;
}
int add(int a, int b)
点击左上角的三角,就生成了一个动态库
然后右击products下的libdemo.dylib,选择在Finder中打开,把文件拷到任意一个目录,再把项目中的Demo.h头文件拷到和动态库相同的目录就ok了
下面是如何使用:
创建一个普通控制台应用,在General中最底部linked frameworks and libraries中添加libdemo.dylib,再在build phases中选择+,选new copy files phase,然后在destination中改成frameworks,再点右下角的+添加动态库,至此,项目配置完毕,然后再添加接口demo.h就可以了。
//Demo_app.cpp
#include <iostream>
#include "Demo.h"
int main(){
int a = 3;
int b = 2;
cout << result: << add(a, b) << endl;
return 0;
}
运行一下:“result:5”
谢谢大家!