金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks

用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" />
<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" />

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


(转载请注明来源于金庆的专栏)


posted on 2008-05-15 14:13 金庆 阅读(1776) 评论(1)  编辑 收藏 引用 所属分类: 1. C/C++

评论

# re: 2008-05-15 16:16 买书网
第一次来,以后多学习。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理