1个回答
展开全部
我编程,我快乐!——人人都能学好编程。
| 首页 | 教程 | 辅助教程 | 关于作者 | 本站软件 | 论坛 | CSDN博客 | 帮助 |
--------------------------------------------------------------------------------
白话C++
2.2. 安装wxWidgets
多数应用软件,通常需要一个界面与使用者进行交互。典型的交互方式可以分成三种:
纯文字界面
也称为“控制台”应用。此类应用通过以“一问一答”的形式在屏幕上打出提问的文字,然后等待用户输入后,程序得以继续运行。 这类交互形式称不上友好,但实现起来简单。在我们学习C++语法的一个很长的时期,我们所写的程序,多数采用此类形式。
图形用户界面
通过“对话框”、“菜单”、“按钮”等典型的图形元素所提供的用户界面。即“图形用户界面/Graphical user interface”,简称为GUI。该形式下,用户通过鼠标或键盘操作,选择所需的功能。 我们常用Office软件、QQ聊天软件、以及Windows操作系统本身,都是典型的GUI程序。
浏览器界面
浏览器界面是GUI的一种特定应用。它将程序分为后台服务和前台展示两部分。后台服务主要实现程序的业务逻辑,以及产生界面脚本(通常是HTML),真正的界面展现与交互工作完全交给第三方的浏览器(比如IE,或Firefox)去完成。 当我们上网浏览新闻时,就是在使用此类应用。
本书前面的一大部分内容,采用“纯文字界面”作为范例程序主要采用界面方式。此安排自然是为了避免读者一开始就陷入复杂的GUI界面设计的“泥潭”之中。然而,与大多数纯粹的C++语言教程止步于此不同,如果编写(跨平台)的“图形用户界面”,也是本书的主要教学内容。
C++的GUI程序库,同样充满很多选择。一些非开源产品多数仅限于某一平台。wxWidgets是同时符合“开源”、“成熟”、“跨平台”,并且支持各平台“原生界面”的GUI库中的佼佼者。这里的“原生界面”是指,在A系统下,其生成的界面元素,就和A系统的本地界面风格一致,这里的A,可以指代Windows XP、也可以指代Linux下某一图形界面。
wxWidgets的主要特点如下:
开源
跨平台:Windows、Mac OS X、GTK+、X11、Motif、WinCE。
既支持原生界面,也支持统一风格界面。
不仅仅是图形界面库:集成提供了包括文件操作、目录操作、多线程、网络通讯、OpenGL(3D)等等功能库。
支持不同的库链接形式:静态链接,动态链接库,其中后者还可以支持编译成单一动态库,或多个小动态库的形式。
支持UNICODE:编译时,可以编译出UNICODE或非UNICODE两种版本,本书采用UNICODE,以方便编程上对汉字的操作。
发展成熟:有较长的发展历史(起源于1992年),业界有许多基于wxWidgets的成熟应用
学习资源丰富:网络上的可以找到较多的资源。
与Code::Blocks结合紧密:C::B本身正是采用wxWidgets实现跨平台的图形用户界面。另外C::B内置了使用wxWidgets的可视界面设计工具。
支持多种编译器:包括本书采用的开源gcc/g++编译器,也包括Visual C++等商业编译器。
本书配套光盘提供了wxWidgets 2.8.8 版本的安装程序,以及四种编译库。您可以通过查看光盘中对应的说明文件,实现快速安装。
如果您需要更新版本的wxWidgets,或者您只是想学习其编译过程,那么请继续阅读下述内容。
2.2.1. 准备
请通过本小节末尾的“相关网站”链接,上网下载wxWidgets的最新稳定版本。请注意选择为for windows版本。
下载得到的,应是一个可执行的安装程序。与Code::Blocks的安装类似,建议将其安装某个驱动器的根目录下,比如:E:\ wxWidgets-2.8.8 目录下(尾部数字以您所使用的wxWidgets版本为准)。
当然,由于本书将指导您安装多个C++扩展库,因此,如果您愿意建立一个新文件夹,用于作为各个C++扩展库的统一的父文件夹,的确是个好主意。
2.2.2. 编译
上一步安装wxWidgets,仅得到源代码文件及一些说明。我们还需要将其中的源代码编译成“库”文件。此类“库”有很多种形式,但其实都可以称为“预编译库”。意思是:它们已经编译好了,你直接拿去用吧。
我们先简单地了解一下“动态、静态”及“调试、发行”的区别。
“库”通常包含很多功能代码,但它们本身并不能直接运行,而是准备提供给应用程序使用, “动态链接”和“静态链接”代表程序如何找到及使用库功能的两种不同方法。
“静态链接”是指,直接将库文件和程序文件合成一个大文件,在合并过程中,完成对库文件各个功能的定位。这个事情发生程序编译的过程。
“动态链接”与此相反,库文件和程序文件各自独立存在,程序在运行时,才去库文件找相关的功能。
完全使用“静态链接”,我们可能会得到一个“胖胖”的程序,直接发给用户使用就可以了。使用“动态链接”,我们可能需要分发给你的用户多个文件(程序和各个库文件)。不小心弄丢了哪个文件,用户们就要抱怨你的软件“跑”不起来了。
“调试版”和“发行版”就和链接技术无关了。前者表示,二者的区别在于:前者含有调试信息,而后者没有。有调试信息有利于我们纠出程序中的错误,不过既然它的含有额外的信息,所以这样的库肯定“胖”了不少。如果觉得错误纠得差不多了,我们就可以改用相对“苗条”的发行版。
有关“库”的详细知识,我们留在第四章讲。今天我们将把wxWidgets编译译成四种形式:
动态链接库 + 调试版
动态链接库 + 发行版
静态链接库 + 调试版
静态链接库 + 发行版
另外,wxWidgets的编译,还可以区分“UNICODE”及“非 UNICODE”两种式。在多数场合下,“UNICODE”可以对汉字及国际化有较方便的支持。因此以上四种组合,我们全部都加上相同“UNICODE”选项。当然, “非UNICODE”选项倒也不是一无是处,以后我们也会用到。
正式开始编译之前,必须确保已经在电脑上正确安装好mingw32环境,如果您不在确信,请使用2.1.6.1小节中提及的方法进行检测。
静态链接(调试版)
步骤1:打开“开始”菜单:“所有程序→附件→记事本”程序。用它打开 wxWidgets安装目录下,子目录“build\msw\”下面的“config.gcc”文件。
步骤2:找到以下内容,并确保将等号(:=)后面的值如下面加粗内容所示。另外其它未指部分的内容,请保持不变。
步骤3:请确认保存了本步的修改成果,再继续下一步。
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
步骤4:SHARED 为 0表示要编译的是静态库,而不是动态库(共享库);
UNICODE为1,表示要编译成UNICODE版本,这一项在本次编译过程中始终为1。
BUILD为debug,表示要编译成含有调试信息的版本。
步骤5:打开“开始”菜单,选择“运行”,输入cmd,进入控制台窗口,然后在其内通过cd命令,切换到wxWidgets安装目录下的“build\msw”路径。比如您把wxWidgets 安装在“E:\wxWidgets-2.8.8”,则过程如下:
E: (回车)
cd wxWidgets-2.8.8 (回车)
cd build\msw (回车)
步骤6:在第3步的控制台中,继续输入以下命令:
mingw32-make.exe -f makefile.gcc (回车)
步骤7:这将开始一段长约30分钟的编译过程(视你的机器配置而定)。
静态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
动态链接(调试版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
其它操作方法不变。
动态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
2.2.3. 结束
这是一次漫长的编译过程,至此,我们完成了四个版本的wxWidgets库的编译。它是我们编写图形用户界面基础。
为了确保大家尽量顺利地完成编译,我们在“config.gcc”仅选择了最基本的编译选项。因此一些强大wxWidgets功能模块没有被编译成库,比如前面提到的非Unicode版,另外没有支持OpenGL、OBDC等功能。后面需要时,我们将会加上,并且令大家放心的是,这并不会带来又一次wxWidgets漫长完全编译。
〖小提示〗:程序员,起来走走……
每次30分钟的编译过程,漫长的等待中,我猜到您不耐烦得站起来四处走动。走动其实健康有益。然而,在程序员的生涯中,我们更多面临的,可能是无数个3分钟,甚至是30秒的等待,这时,你是否记得提醒自己也要常常起来走动走动?
Code::Blocks专门提供一个插件,用于提醒程序员注意休息,很有兴趣?请在休息之后继续我们的白话之旅。
编译过程中会产生大量的中间临时文件。请进入wxWidgets文件夹内的“build”子文件夹,搜索 “*.o”文件(确保选中“搜索子文件夹”选项):约有3千多个中间文件,全部删除,可以腾出1G多的空间。(Windows下多数编译器会生产扩展名为“.obj”的文件,但mingw32-g++产生的为“.o”文件。)
编译完成后,所有静态链接库位于wxWidgets安装目录下的“lib\gcc_lib”子目录。而动态链接库位于 “lib\gcc_dll”子目录。
仔细观察,会发现库文件名称中,有不少带有“ud”字母的文件,其中‘d’表示“debug”,即调试版本 ,不带‘d’的通常是“release”版本。
‘u’表示“Unicode”,即支持Unicode编码。虽然我们这一次编译的全部采用“Unicode”选项,但还是存在一些文件并不带‘u’字母,那是因为这些库并不涉及到字符串的国际化处理,所以不需要考虑编码,比如与Jpeg图形功能有关的库。
静态库文件
libwxbase28u.a
libwxbase28ud.a libwxbase28ud_net.a libwxbase28ud_xml.a
libwxbase28u_net.a libwxbase28u_xml.a libwxexpat.a
libwxexpatd.a libwxjpeg.a libwxjpegd.a
libwxmsw28ud_adv.a libwxmsw28ud_aui.a libwxmsw28ud_core.a
libwxmsw28ud_html.a libwxmsw28ud_media.a libwxmsw28ud_richtext.a
libwxmsw28ud_xrc.a libwxmsw28u_adv.a libwxmsw28u_aui.a
libwxmsw28u_core.a libwxmsw28u_html.a libwxmsw28u_media.a
libwxmsw28u_richtext.a libwxmsw28u_xrc.a libwxpng.a
libwxpngd.a libwxregexu.a libwxregexud.a
libwxtiff.a libwxtiffd.a libwxzlib.a
libwxzlibd.a
动态库文件
wxbase28ud_gcc_custom.dll wxbase28ud_net_gcc_custom.dll
wxbase28ud_xml_gcc_custom.dll wxbase28u_gcc_custom.dll
wxbase28u_net_gcc_custom.dll wxbase28u_xml_gcc_custom.dll
wxmsw28ud_adv_gcc_custom.dll wxmsw28ud_aui_gcc_custom.dll
wxmsw28ud_core_gcc_custom.dll wxmsw28ud_html_gcc_custom.dll
wxmsw28ud_media_gcc_custom.dll wxmsw28ud_richtext_gcc_custom.dll
wxmsw28ud_xrc_gcc_custom.dll wxmsw28u_adv_gcc_custom.dll
wxmsw28u_aui_gcc_custom.dll wxmsw28u_core_gcc_custom.dll
wxmsw28u_html_gcc_custom.dll wxmsw28u_media_gcc_custom.dll
wxmsw28u_richtext_gcc_custom.dll wxmsw28u_xrc_gcc_custom.dll
在gcc_dll目录下,除了扩展名为“.dll”的动态链接库以外,还存在大量的扩展为“.a”的文件,称为“导入库/Import library”,为了节省篇幅,上表未加列出。
“导入库”在编译时向应用程序提供信息,以辅助应用程序在运行时,定位具体某一功能在DLL文件中的入口。也就是说,今后编译程序时,将用到它们,但它们不必随同程序一起发行。
2.2.4. 相关网址
wxWidgets 官方网站:www.wxWidgets.org
wxWidgets扩展代码:www.wxCode.com
| 首页 | 教程 | 辅助教程 | 关于作者 | 本站软件 | 论坛 | CSDN博客 | 帮助 |
--------------------------------------------------------------------------------
白话C++
2.2. 安装wxWidgets
多数应用软件,通常需要一个界面与使用者进行交互。典型的交互方式可以分成三种:
纯文字界面
也称为“控制台”应用。此类应用通过以“一问一答”的形式在屏幕上打出提问的文字,然后等待用户输入后,程序得以继续运行。 这类交互形式称不上友好,但实现起来简单。在我们学习C++语法的一个很长的时期,我们所写的程序,多数采用此类形式。
图形用户界面
通过“对话框”、“菜单”、“按钮”等典型的图形元素所提供的用户界面。即“图形用户界面/Graphical user interface”,简称为GUI。该形式下,用户通过鼠标或键盘操作,选择所需的功能。 我们常用Office软件、QQ聊天软件、以及Windows操作系统本身,都是典型的GUI程序。
浏览器界面
浏览器界面是GUI的一种特定应用。它将程序分为后台服务和前台展示两部分。后台服务主要实现程序的业务逻辑,以及产生界面脚本(通常是HTML),真正的界面展现与交互工作完全交给第三方的浏览器(比如IE,或Firefox)去完成。 当我们上网浏览新闻时,就是在使用此类应用。
本书前面的一大部分内容,采用“纯文字界面”作为范例程序主要采用界面方式。此安排自然是为了避免读者一开始就陷入复杂的GUI界面设计的“泥潭”之中。然而,与大多数纯粹的C++语言教程止步于此不同,如果编写(跨平台)的“图形用户界面”,也是本书的主要教学内容。
C++的GUI程序库,同样充满很多选择。一些非开源产品多数仅限于某一平台。wxWidgets是同时符合“开源”、“成熟”、“跨平台”,并且支持各平台“原生界面”的GUI库中的佼佼者。这里的“原生界面”是指,在A系统下,其生成的界面元素,就和A系统的本地界面风格一致,这里的A,可以指代Windows XP、也可以指代Linux下某一图形界面。
wxWidgets的主要特点如下:
开源
跨平台:Windows、Mac OS X、GTK+、X11、Motif、WinCE。
既支持原生界面,也支持统一风格界面。
不仅仅是图形界面库:集成提供了包括文件操作、目录操作、多线程、网络通讯、OpenGL(3D)等等功能库。
支持不同的库链接形式:静态链接,动态链接库,其中后者还可以支持编译成单一动态库,或多个小动态库的形式。
支持UNICODE:编译时,可以编译出UNICODE或非UNICODE两种版本,本书采用UNICODE,以方便编程上对汉字的操作。
发展成熟:有较长的发展历史(起源于1992年),业界有许多基于wxWidgets的成熟应用
学习资源丰富:网络上的可以找到较多的资源。
与Code::Blocks结合紧密:C::B本身正是采用wxWidgets实现跨平台的图形用户界面。另外C::B内置了使用wxWidgets的可视界面设计工具。
支持多种编译器:包括本书采用的开源gcc/g++编译器,也包括Visual C++等商业编译器。
本书配套光盘提供了wxWidgets 2.8.8 版本的安装程序,以及四种编译库。您可以通过查看光盘中对应的说明文件,实现快速安装。
如果您需要更新版本的wxWidgets,或者您只是想学习其编译过程,那么请继续阅读下述内容。
2.2.1. 准备
请通过本小节末尾的“相关网站”链接,上网下载wxWidgets的最新稳定版本。请注意选择为for windows版本。
下载得到的,应是一个可执行的安装程序。与Code::Blocks的安装类似,建议将其安装某个驱动器的根目录下,比如:E:\ wxWidgets-2.8.8 目录下(尾部数字以您所使用的wxWidgets版本为准)。
当然,由于本书将指导您安装多个C++扩展库,因此,如果您愿意建立一个新文件夹,用于作为各个C++扩展库的统一的父文件夹,的确是个好主意。
2.2.2. 编译
上一步安装wxWidgets,仅得到源代码文件及一些说明。我们还需要将其中的源代码编译成“库”文件。此类“库”有很多种形式,但其实都可以称为“预编译库”。意思是:它们已经编译好了,你直接拿去用吧。
我们先简单地了解一下“动态、静态”及“调试、发行”的区别。
“库”通常包含很多功能代码,但它们本身并不能直接运行,而是准备提供给应用程序使用, “动态链接”和“静态链接”代表程序如何找到及使用库功能的两种不同方法。
“静态链接”是指,直接将库文件和程序文件合成一个大文件,在合并过程中,完成对库文件各个功能的定位。这个事情发生程序编译的过程。
“动态链接”与此相反,库文件和程序文件各自独立存在,程序在运行时,才去库文件找相关的功能。
完全使用“静态链接”,我们可能会得到一个“胖胖”的程序,直接发给用户使用就可以了。使用“动态链接”,我们可能需要分发给你的用户多个文件(程序和各个库文件)。不小心弄丢了哪个文件,用户们就要抱怨你的软件“跑”不起来了。
“调试版”和“发行版”就和链接技术无关了。前者表示,二者的区别在于:前者含有调试信息,而后者没有。有调试信息有利于我们纠出程序中的错误,不过既然它的含有额外的信息,所以这样的库肯定“胖”了不少。如果觉得错误纠得差不多了,我们就可以改用相对“苗条”的发行版。
有关“库”的详细知识,我们留在第四章讲。今天我们将把wxWidgets编译译成四种形式:
动态链接库 + 调试版
动态链接库 + 发行版
静态链接库 + 调试版
静态链接库 + 发行版
另外,wxWidgets的编译,还可以区分“UNICODE”及“非 UNICODE”两种式。在多数场合下,“UNICODE”可以对汉字及国际化有较方便的支持。因此以上四种组合,我们全部都加上相同“UNICODE”选项。当然, “非UNICODE”选项倒也不是一无是处,以后我们也会用到。
正式开始编译之前,必须确保已经在电脑上正确安装好mingw32环境,如果您不在确信,请使用2.1.6.1小节中提及的方法进行检测。
静态链接(调试版)
步骤1:打开“开始”菜单:“所有程序→附件→记事本”程序。用它打开 wxWidgets安装目录下,子目录“build\msw\”下面的“config.gcc”文件。
步骤2:找到以下内容,并确保将等号(:=)后面的值如下面加粗内容所示。另外其它未指部分的内容,请保持不变。
步骤3:请确认保存了本步的修改成果,再继续下一步。
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
步骤4:SHARED 为 0表示要编译的是静态库,而不是动态库(共享库);
UNICODE为1,表示要编译成UNICODE版本,这一项在本次编译过程中始终为1。
BUILD为debug,表示要编译成含有调试信息的版本。
步骤5:打开“开始”菜单,选择“运行”,输入cmd,进入控制台窗口,然后在其内通过cd命令,切换到wxWidgets安装目录下的“build\msw”路径。比如您把wxWidgets 安装在“E:\wxWidgets-2.8.8”,则过程如下:
E: (回车)
cd wxWidgets-2.8.8 (回车)
cd build\msw (回车)
步骤6:在第3步的控制台中,继续输入以下命令:
mingw32-make.exe -f makefile.gcc (回车)
步骤7:这将开始一段长约30分钟的编译过程(视你的机器配置而定)。
静态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
动态链接(调试版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
其它操作方法不变。
动态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
2.2.3. 结束
这是一次漫长的编译过程,至此,我们完成了四个版本的wxWidgets库的编译。它是我们编写图形用户界面基础。
为了确保大家尽量顺利地完成编译,我们在“config.gcc”仅选择了最基本的编译选项。因此一些强大wxWidgets功能模块没有被编译成库,比如前面提到的非Unicode版,另外没有支持OpenGL、OBDC等功能。后面需要时,我们将会加上,并且令大家放心的是,这并不会带来又一次wxWidgets漫长完全编译。
〖小提示〗:程序员,起来走走……
每次30分钟的编译过程,漫长的等待中,我猜到您不耐烦得站起来四处走动。走动其实健康有益。然而,在程序员的生涯中,我们更多面临的,可能是无数个3分钟,甚至是30秒的等待,这时,你是否记得提醒自己也要常常起来走动走动?
Code::Blocks专门提供一个插件,用于提醒程序员注意休息,很有兴趣?请在休息之后继续我们的白话之旅。
编译过程中会产生大量的中间临时文件。请进入wxWidgets文件夹内的“build”子文件夹,搜索 “*.o”文件(确保选中“搜索子文件夹”选项):约有3千多个中间文件,全部删除,可以腾出1G多的空间。(Windows下多数编译器会生产扩展名为“.obj”的文件,但mingw32-g++产生的为“.o”文件。)
编译完成后,所有静态链接库位于wxWidgets安装目录下的“lib\gcc_lib”子目录。而动态链接库位于 “lib\gcc_dll”子目录。
仔细观察,会发现库文件名称中,有不少带有“ud”字母的文件,其中‘d’表示“debug”,即调试版本 ,不带‘d’的通常是“release”版本。
‘u’表示“Unicode”,即支持Unicode编码。虽然我们这一次编译的全部采用“Unicode”选项,但还是存在一些文件并不带‘u’字母,那是因为这些库并不涉及到字符串的国际化处理,所以不需要考虑编码,比如与Jpeg图形功能有关的库。
静态库文件
libwxbase28u.a
libwxbase28ud.a libwxbase28ud_net.a libwxbase28ud_xml.a
libwxbase28u_net.a libwxbase28u_xml.a libwxexpat.a
libwxexpatd.a libwxjpeg.a libwxjpegd.a
libwxmsw28ud_adv.a libwxmsw28ud_aui.a libwxmsw28ud_core.a
libwxmsw28ud_html.a libwxmsw28ud_media.a libwxmsw28ud_richtext.a
libwxmsw28ud_xrc.a libwxmsw28u_adv.a libwxmsw28u_aui.a
libwxmsw28u_core.a libwxmsw28u_html.a libwxmsw28u_media.a
libwxmsw28u_richtext.a libwxmsw28u_xrc.a libwxpng.a
libwxpngd.a libwxregexu.a libwxregexud.a
libwxtiff.a libwxtiffd.a libwxzlib.a
libwxzlibd.a
动态库文件
wxbase28ud_gcc_custom.dll wxbase28ud_net_gcc_custom.dll
wxbase28ud_xml_gcc_custom.dll wxbase28u_gcc_custom.dll
wxbase28u_net_gcc_custom.dll wxbase28u_xml_gcc_custom.dll
wxmsw28ud_adv_gcc_custom.dll wxmsw28ud_aui_gcc_custom.dll
wxmsw28ud_core_gcc_custom.dll wxmsw28ud_html_gcc_custom.dll
wxmsw28ud_media_gcc_custom.dll wxmsw28ud_richtext_gcc_custom.dll
wxmsw28ud_xrc_gcc_custom.dll wxmsw28u_adv_gcc_custom.dll
wxmsw28u_aui_gcc_custom.dll wxmsw28u_core_gcc_custom.dll
wxmsw28u_html_gcc_custom.dll wxmsw28u_media_gcc_custom.dll
wxmsw28u_richtext_gcc_custom.dll wxmsw28u_xrc_gcc_custom.dll
在gcc_dll目录下,除了扩展名为“.dll”的动态链接库以外,还存在大量的扩展为“.a”的文件,称为“导入库/Import library”,为了节省篇幅,上表未加列出。
“导入库”在编译时向应用程序提供信息,以辅助应用程序在运行时,定位具体某一功能在DLL文件中的入口。也就是说,今后编译程序时,将用到它们,但它们不必随同程序一起发行。
2.2.4. 相关网址
wxWidgets 官方网站:www.wxWidgets.org
wxWidgets扩展代码:www.wxCode.com
参考资料: http://www.d2school.com/bhcpp_book/2_2.php
AiPPT
2024-09-19 广告
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询