1、创建项目linux系统控制台应用程序。
2、点工具选择选项在点跨平台选择连接管理器设置账号信息。
3、添加文件。
4、4、设置数据(文件生成路径、生成文件类型)。
5、生成文件。
1.静态调用dll在新文件yyy.cpp里加入如下内容
#include "xxx.h"
#pragma comment(lib,"xxx.dll")
生成的dll不需要def文件和cpp文件也可以
不包含xxx.h的话,需要把h文件内的函数原型声明添加进yyy.cpp
编译时需要加入dll,类似这样:
g++ -L. -o yyy.exe yyy.cpp xxx.dll
2.动态调用dll
首先,你需要包含windows.h
#include <windows.h>
你还需要一个句柄保存装入的dll文件
HINSTANCE hDll=LoadLibrary("xxx.dll")
声明所需函数的对应函数指针类型
typedef void (*pfunc)(void)
获得指向函数的函数指针
pfunc pf=(pfunc*)GetProcAddress(hDll,"example")
使用完毕后,要释放dll文件
FreeLibrary(hDll)
3.如果是so文件的话也是同样的道理,可以在工程属性里面添加好库的路径,或者编译的时候指明库。然后再在cpp中include相应的头文件:
如Linux下调用库opencv_core.so
g++ main.cpp -o test -L usr/lib/ -lopencv_core
只要路径和命名空间都写对了,就可以使用类名关键字来实例化类了。
myobj m
m.func( )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)