wxWidgets库的依赖顺序

用CodeBlocks编译一个wxWidgets应用程序时,总是出现"undefined reference"。这里有两个问题,一是需要添加wxWidgets相关的库,二是这些库要按一定的顺序列出。

在wxWidgets的lib目录下查找报错的未定义函数,就可以找到那些需要的库。

但是库的排列顺序是有关系的,顺序错误仍会有"undefined reference"报告。如果程序引用了libA.a,libA.a又引用了libB.a,则gcc链接时,库A应排在库B的前面。但是wxWidgets有这么多库文件,如何排列它们的顺序呢?

我利用了CodeBlocks的wxWidgets工程向导,生成一个工程,把所有的库都选上,这样就排出了一个wxWidgets库的顺序。

<add library="libwxmsw28_richtext.a"> &lt;Add library="libwxmsw28_richtext.a" /&gt;<br> &lt;Add library="libwxmsw28_xrc.a" /&gt;<br> &lt;Add library="libwxmsw28_dbgrid.a" /&gt;<br> &lt;Add library="libwxbase28_odbc.a" /&gt;<br> &lt;Add library="libwxmsw28_media.a" /&gt;<br> &lt;Add library="libwxbase28_net.a" /&gt;<br> &lt;Add library="libwxmsw28_gl.a" /&gt;<br> &lt;Add library="libwxmsw28_qa.a" /&gt;<br> &lt;Add library="libwxbase28_xml.a" /&gt;<br> &lt;Add library="libwxmsw28_adv.a" /&gt;<br> &lt;Add library="libwxmsw28_html.a" /&gt;<br> &lt;Add library="libwxmsw28_core.a" /&gt;<br> &lt;Add library="libwxbase28.a" /&gt;<br> &lt;Add library="libwxpng.a" /&gt;<br> &lt;Add library="libwxjpeg.a" /&gt;<br> &lt;Add library="libwxtiff.a" /&gt;<br> &lt;Add library="libwxzlib.a" /&gt;<br> &lt;Add library="libwxregex.a" /&gt;<br> &lt;Add library="libwxexpat.a" /&gt;<br><add library="libwxmsw28_xrc.a"><add library="libwxmsw28_dbgrid.a"><add library="libwxbase28_odbc.a"><add library="libwxmsw28_media.a"><add library="libwxbase28_net.a"><add library="libwxmsw28_gl.a"><add library="libwxmsw28_qa.a"><add library="libwxbase28_xml.a"><add library="libwxmsw28_adv.a"><add library="libwxmsw28_html.a"><add library="libwxmsw28_core.a"><add library="libwxbase28.a"><add library="libwxpng.a"><add library="libwxjpeg.a"><add library="libwxtiff.a"><add library="libwxzlib.a"><add library="libwxregex.a"><add library="libwxexpat.a"></add></add></add></add></add></add></add></add></add></add></add></add></add></add></add></add></add></add></add>

还是有#pragma comment(lib, "XXX.lib")自动链接的好,不必关心这种库依赖性。

你可能感兴趣的:(html,.net,xml,gcc)