wxAUI 0.9.2在Windows/MinGW下的编译的问题

3 views
Skip to first unread message

xunj...@gmail.com

unread,
Apr 29, 2006, 9:52:24 PM4/29/06
to wxLife
wxAUI是一个基于wx的界面管理库,提供了Dock/Float窗口的功能。无论是在Linux/Mac还是在Windows下用VC编译,都只需略作改动即可。但在MinGW下编译时,却总是出错。
首先,将Makefile中的WX_CONFIG改为系统中的wx-config,结果是编译manager.cpp时出错,提示使用了WXDLLEXPORT修饰符的类wxFrameManager中使用了静态成员(事件表),于是将wx-config
--cxxflags中的WXUSINGDLL定义去掉,此时可以编译和链接生成libwxaui.a,但在链接其例子程序时,会提示很多以_imp__打头的与wxFrameManager相关的函数无法找到。
究其原因,是在生成.a形式的函数库时不应该有__dllspec(dllexport)/__dllspec(dllimport)修饰符,至于Linux下能通过就是因为这个原因,这一点可以从wx的dlimpexp.h中找到证据。最终在manager.h中将WXDLLEXPORT的修饰符去除,全部编译通过,并在报告模板编辑器中编辑通过。

问题,
1.
在manager.h中将WXDLLEXPORT修饰符去除后对其他函数有没有影响?
2. VC中为什么能编译通过?

Reply all
Reply to author
Forward
0 new messages