minGW如何动态库调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了minGW如何动态库调试相关的知识,希望对你有一定的参考价值。
参考技术A- 新建library c++库工程,在pro文件中加入,以排除拷贝一些动态库的麻烦。 QMAKE_LFLAGS = -static-libgcc -static-libstdc++ QMAKE_LFLAGS += -Wl,--subsystem,windows,--kill-at //如果是导出给VB调用还要加上这句,否则不加,JAVA似乎也要。看调用协议了。如果用到了信号槽等qt特有的事件处理机制(比如你用到了QWidget,QCamera等),那你必须在库里跑一个qApp.exec以让qt库可以正常处理QT事件,当然为了不卡死在库里必须要做下处理,这个可以参考qtwinmigrate的例程,里面有示例,看qtdll就行,我理解的实质也就是在dllmain入口函数中,当加载库时实例化一个qApp,并让事件驱动起来并过滤掉window的事件,有q...我在windows下用mingw编译的库是没有lib文件的,只有用mvsc编译才有这玩意。mingw下动态编译就只有dll,静态的话dll都没有,只出来个.a。至于说只有lib没dll这种情况没遇上过,据说加个CONFIG += dll就行。qt做的库,我尝试了只能以extern "C"形式编译才能让VC访问,所以类对象是没法导出了,只能一个一个方法导出 …
以上是关于minGW如何动态库调试的主要内容,如果未能解决你的问题,请参考以下文章
Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)