dyzyrax
dyzyrax
[ZLToolKit-master.zip](https://github.com/ZLMediaKit/ZLToolKit/files/14059938/ZLToolKit-master.zip) 上面这个版本
采用Visual studio 2015,将ZLToolKit编译为动态库,进行调用动态库时出现上图异常。 注,采用静态库时,与项目的其他代码存在冲突,编译报错
这个异常是否与我的使用方法有关。我的使用方法:我在动态库sampled.dll中调用了静态库ZLToolKit,然后进程sampled.exe中调用了sampled.dll 我看到CMakeLists.txt中禁止将ZLToolKit编译为WIndows下的DLL,是什么原因呢?有无解决措施?
了解了,谢谢 ***@***.*** 发件人: 夏楚 发送时间: 2024-01-28 19:42 收件人: ZLMediaKit/ZLToolKit 抄送: dyzyrax; Author 主题: Re: [ZLMediaKit/ZLToolKit] 进程(调用Debug版版本库)退出时异常 (Issue #207) 把zltoolkit编译成dll 建议还是c封装下比较好 因为c++的abi是不兼容的。 从你debug信息看 是ZLToolkit的socket被系统回收了或者被同进程代码关闭了 不得而知。 — Reply to this email directly,...
我验证了,封装为C动态库也不行,进程销毁时异常,问题原因应该是ZLToolKit内部定义的大量全局变量 ***@***.*** 发件人: ***@***.*** 发送时间: 2024-01-29 16:35 收件人: ZLMediaKit/ZLToolKit; ZLMediaKit/ZLToolKit 抄送: ***@***.***; Author 主题: Re: Re: [ZLMediaKit/ZLToolKit] 进程(调用Debug版版本库)退出时异常 (Issue #207) 了解了,谢谢 ***@***.*** 发件人: 夏楚 发送时间: 2024-01-28 19:42 收件人: ZLMediaKit/ZLToolKit 抄送:...
我尝试将test_tcpClient.cpp中的main函数改名并已C接口导出,运行正常,进程销毁时也存在异常。我分享下问题复现方式: [ZLToolKitDLL.zip](https://github.com/ZLMediaKit/ZLToolKit/files/14107963/ZLToolKitDLL.zip) ① 将附件压缩包解药至ZLToolKit-master目录 ② ZLToolKit-master/CMakeLists.txt中尾部增加以下内容,将test_tcpClient示例功能封装为动态库ZLToolKitDLL.dll的接口ZLToolKitDLL_test,并在测试程序ZLToolKitDLL_test.cpp调用 # ZLToolKit动态库编译及调用 set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) add_library(ZLToolKitDLL SHARED ${CMAKE_CURRENT_SOURCE_DIR}/ZLToolKitDLL/ZLToolKitDLL.cpp ${CMAKE_CURRENT_SOURCE_DIR}/ZLToolKitDLL/ZLToolKitDLL.h) if(ANDROID OR IOS OR WIN32) target_link_libraries(ZLToolKitDLL ${PROJECT_NAME}_static ${LINK_LIB_LIST}) else() target_link_libraries(ZLToolKitDLL ${PROJECT_NAME}_static ${LINK_LIB_LIST} pthread) endif() add_executable(ZLToolKitDLL_test ${CMAKE_CURRENT_SOURCE_DIR}/ZLToolKitDLL/ZLToolKitDLL_test.cpp...