void *hknetsdk=dlopen("./libhcnetsdk.so",RTLD_LAZY); //加载libhcnetsdk.so
void *sanson_NET_DVR_Init=dlsym(hknetsdk,"NET_DVR_Init");
上面是我写的加载和调用.so的一段程序。
在第二句中,NET_DVR_Init函数 定义的时候 为BOOL NET_DVR_Init();
就出现了 数据类型 不一样的问题。
将代码改为:
void *hknetsdk=dlopen("./libhcnetsdk.so",RTLD_LAZY); //加载libhcnetsdk.so
BOOL *sanson_NET_DVR_Init=dlsym(hknetsdk,"NET_DVR_Init");
也无济于事, 这应该和第一句 声明为 void有关系吧?
将代码改为:
BOOL *hknetsdk=dlopen("./libhcnetsdk.so",RTLD_LAZY); //加载libhcnetsdk.so
BOOL *sanson_NET_DVR_Init=dlsym(hknetsdk,"NET_DVR_Init");
更不行的, dlopen和 dlsym的参数 都是void的。
小第只是想把 libhcnetsdk.so中的函数调用出来用用,可是里面的函数都是BOOL
有高手知道怎么处理吗?