用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_richtext.a" /><br> <Add library="libwxmsw28_xrc.a" /><br> <Add library="libwxmsw28_dbgrid.a" /><br> <Add library="libwxbase28_odbc.a" /><br> <Add library="libwxmsw28_media.a" /><br> <Add library="libwxbase28_net.a" /><br> <Add library="libwxmsw28_gl.a" /><br> <Add library="libwxmsw28_qa.a" /><br> <Add library="libwxbase28_xml.a" /><br> <Add library="libwxmsw28_adv.a" /><br> <Add library="libwxmsw28_html.a" /><br> <Add library="libwxmsw28_core.a" /><br> <Add library="libwxbase28.a" /><br> <Add library="libwxpng.a" /><br> <Add library="libwxjpeg.a" /><br> <Add library="libwxtiff.a" /><br> <Add library="libwxzlib.a" /><br> <Add library="libwxregex.a" /><br> <Add library="libwxexpat.a" /><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")自动链接的好,不必关心这种库依赖性。
分享到:
相关推荐
2. **设置Libraries**:在Libraries部分,添加一系列的wxWidgets库和其他依赖库,如`wxmsw28_xrc`,`wxmsw28_core`,`wxbase28`等。请注意库的加载顺序,虽然本文列出了一种推荐的顺序,但在实际应用中可能需要根据...
- 对于 Visual Studio 用户,需要在项目设置中添加 wxWidgets 的库目录和链接器依赖项。在 `项目属性` -> `C/C++` -> `常规` -> `附加包含目录` 中添加 `WXWIN\include`,在 `链接器` -> `输入` -> `附加依赖项` 中...
解决这个问题需要在Code::Blocks的项目构建选项中,修改链接器设置,将所需的库添加到链接顺序中。例如,将wxmsw更改为wxbase26,并添加wxmsw26_core库。 在FreeBSD系统上,安装Code::Blocks通常通过ports来完成,...
在这个项目中,我们关注的是一个使用C++编程语言实现的简单版本,它依赖于wxWidgets库来构建图形用户界面(GUI),并使用Visual Studio作为集成开发环境(IDE)。 **wxWidgets库** wxWidgets是一个开源的跨平台GUI...
它的核心特性在于采用C++编程语言,并利用wxWidgets库进行开发,确保了在Windows、Linux和MacOS操作系统上的界面和用户体验的一致性。 **wxWidgets库介绍** wxWidgets是一个强大的开源跨平台GUI库,它允许开发者...
osg的编译过程包括建立文件夹、复制源代码、复制第三方库、组织文件夹、安装Qt和wxWidgets、设置cmake、编译osg Core、编译插件库等步骤。 2. 第三方库的使用 osgEarth需要 THIRD PARTY 库gdal、geos、libcurl等的...
在这个场景中,`python2.5` 配置 `pylot` 库需要依赖于 `wxPython`、`numpy` 和 `matplotlib` 这三个关键组件。下面将详细介绍这三个库以及如何在Python 2.5环境下安装和使用它们。 `wxPython` 是一个用Python语言...
- **图形界面**:QT和WxWidgets是流行的跨平台GUI库,它们与ZeroMQ结合,可以创建直观、响应迅速的交易和监控界面。 - **事件驱动编程**:ZeroMQ的异步消息处理机制与GUI库的事件模型相结合,实现高效、流畅的用户...
wxPython是基于C++的wxWidgets库的Python绑定,因此,它允许Python开发者利用原生操作系统界面,确保应用程序在不同平台上拥有统一的外观和感觉。 **拼图游戏** 拼图游戏是一种受欢迎的娱乐活动,通常涉及将图像...
PyQt基于Qt库,而wxPython则依赖于wxWidgets,这两个库都是跨平台的,可以在Windows、Linux和macOS上运行。 在开发GUI应用时,我们首先需要导入相应的库,例如Tkinter或PyQt。然后,我们可以定义窗口(Window)并...
这些操作需要对音频文件进行读取和解码,并且通常依赖于音频库或API,例如Windows的WMediaAPI,MacOS的CoreAudio,或者跨平台的如FFmpeg。 3. **音量控制**:用户应该可以调整音量,这可以通过操作系统提供的接口来...
这些功能的实现依赖于更复杂的UI设计和数据结构,例如使用链表或数组来存储播放列表,以及利用图形界面库(如Qt或wxWidgets)创建用户友好的界面。 总的来说,开发一个自制的MP3播放器不仅涉及音频处理技术,还涵盖...
在C++中,实现图形用户界面(GUI)可以使用多种库,如Qt、wxWidgets或GTK+等。这些库提供了丰富的组件,如按钮、文本框、表格等,用于创建交互式界面。在这个课程安排系统中,可能包含如下功能: 1. **课程查询**:...
人机交互界面(GUI)的实现通常依赖于图形库,例如Qt或wxWidgets。这些库提供了丰富的组件,如按钮、文本框、文件对话框等,可以帮助开发者快速构建出直观易用的界面。用户可以通过界面选择本地文件,发起传输请求,...
- 使用GUI库:通常会依赖像Qt、wxWidgets或JavaFX这样的图形用户界面库来构建窗口小部件,这些库提供了丰富的组件和API来创建自定义控件。 - 时间处理:时间线需要准确地处理时间值,这可能涉及时间和日期的处理库...
- **C语言**:C语言的标准并不包括图形处理,图形处理通常需要依赖特定的库,如SDL或OpenGL。 - **C++语言**:C++有专门的图形库支持,如Qt、wxWidgets等,它们提供了更为集成的图形处理能力。 5. **结构体和类**...
7. **用户界面(UI)**:虽然描述中没有特别提及,但实际的多人语音聊天应用会有用户交互界面,可能使用Qt、wxWidgets或其他C++ GUI库来实现。 8. **服务器架构**:多人语音聊天可能涉及服务器端的架构设计,如负载...
可以考虑使用命令行界面,或者结合图形用户界面(GUI)库,如Qt或wxWidgets,创建窗口式应用。 最后,为了保证代码质量,应遵循良好的编程规范,如适当的注释、命名约定、错误处理等。此外,测试也是必不可少的,...
这可能使用到了C++的标准库(如iostream)进行命令行输入,或者使用图形用户界面(GUI)库如Qt或wxWidgets,提供更丰富的交互体验。 此外,文件I/O操作用于读取和保存公交线路数据。开发者可能将线路和站点信息存储...
1. **多媒体播放器库**:为了实现音频和视频的播放,系统可能依赖于像FFmpeg或VLC这样的多媒体库。这些库提供了丰富的功能,如解码、编码、流处理等。 2. **时间调度与任务计划**:系统需要能够按照预设的时间表...