开发环境配置方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
13.1.1 开发环境的路径参数
►显然,通过编辑系统PATH路径,可以更改搜
索路径。一般地,Windows系统文件夹(如 C:\WINDOWS或C:\WINDOWS\system32)是 搜索路径之一。如果将DLL文件复制到这个文 件夹中,程序运行时能够找到它。
12
13.1.2 开发环境的路径设置
► 应用程序连接库是指在程序可执行文件中嵌入库的二进
制目标代码或导入库(import library)。嵌入目标代码 方式称为静态连接,它将库的目标代码嵌入到程序可执 行文件中。其优点是可执行文件包含库的实现代码,不 需要额外的运行时文件就能够运行;缺点是可执行文件 体积增大,库代码不能被共享使用。导入库方式称为动 态链接,它仅将库调用信息存放在可执行文件中,而库 代码存放在动态链接库DLL文件中。其优点是可执行文 件体积小,一个DLL可以被多个应用程序动态加载共享 使用;缺点是程序运行时必须有DLL文件(即在搜索路 径中能找到),否则就不能运行。
第14章 标准库
1
C++程序设计
配置开发环境
1、配置API库开发环境
第13章高级编程技术
►实现应用程序开发,除需要大量C++语言编程
训练、掌握必要的算法和数据结构理论知识之 外,还要学习高级编程技术。 ►高级编程技术有很强的专业性,涉及内容广泛。 通常可以分为系统编程、界面编程、多媒体编 程、网络编程、数据库编程、硬件编程等六个 领域。本章将介绍在Windows系统下利用C++ 语言进行应用程序开发的基本知识。 ►在C++语言发展进程中,无数科学家和程序员 开发出数量众多、性能卓越的专业函数库,充 分利用好这些函数库是编写应用程序的重要技 巧。 3
21
13.1.3 开发环境的配置
►有的专业函数库需要运行时文件(如动态链
接库),通常要将这些文件存放到搜索路径 上,使用专业函数库的程序运行时才能找到 它们。典型的做法是将这些文件复制到 Windows系统文件夹中。
22
13.1.3 开发环境的配置
►专业函数库的使用手册文档使程序员能够正
确调用库函数,包含函数原型、函数功能、 参数要求、数据含义等说明。
►开发工具的图形界面通常允许程序员设置系
统INCLUDE路径和系统LIB路径。
13
13.1.2 开发环境的路径设置
►在CodeBlocks中,单击“Settings/Compiler
and debugger...”(设置/编译器和调试器...) 菜单,打开“Compiler and debugger settings”(编译器和调试器设置)对话框, 如图所示。
30
13.1.4 函数库的包含和连接
►应用程序包含库是指包含它的头文件,使用
#include预处理命令,例如:
#include <gsl/gsl_linalg.h> //GSL线性代数函数
►包含库的头文件后,程序就可以调用库函数
和使用它的数据类型、数据结构、宏定义和 特殊常量等。
31
13.1.4 函数库的包含和连接
7
13.1.1 开发环境的路径参数
►1.系统INCLUDE路径 ►include文件夹存放开发工具默认安装的全部
头文件,称为系统INCLUDE路径。可以在这 个文件夹中找到我们所熟悉的stdio.h和 math.h文件。系统INCLUDE路径是开发工具 查找头文件的基础路径,例如math.h头文件 包含命令:
►具体细节可以参考CL和gcc的使用手册。
29
13.1.3 开发环境的配置
►设置搜索路径的方法操作繁琐,一般适用于
命令行编译和连接方式,初学程序者掌握起 来有一定难度。本质上,所有的开发工具都 使用命令行方式编译和连接程序,如VC或者 CodeBlocks,它们的图形界面只不过是命令 行方式的一个“外壳”。
#include <math.h>
8
13.1.1 开发环境的路径参数
►尖括号内的头文件使用相对路径写法(相对
于系统INCLUDE路径)。由于math.h在系统 INCLUDE路径中,所以文件名前面不用写路 径。 ►如果程序中欲包含<VC>\include\gl\gl.h头 文件,由于gl.h文件是在系统INCLUDE路径 的gl子文件夹中,因此文件包含命令应为:
27
13.1.3 开发环境的配置
表13-1 开发工具环境变量参数 Visual Code::Blocks 类别 C++
系统INCLUDE 路径 系统LIB路径
INCLUDE
LIB
C_INCLUDE_PATH(C语言), CPLUS_INCLUDE_PATH(C++) LIBRARY_PATH
28
13.1.3 开发环境的配置
系统 LIB路 径标 签
15
13.1.2 开发环境的路径设置
►需要注意,上述路径设置对开发工具而言是
全局性的,即路径设置对每个程序和项目工 程都是有效的。
16
13.1.2 开发环境的路径设置
►在VC中,单击“Tools/Options...”菜单打开
“Options”对话框,如图所示。单击 “Directories”标签,选择“Show directories for:”可以看到VC的系统INCLUDE路径和系统 LIB路径。 ►图中显示VC的系统INCLUDE路径有两个: “C:\DEV\MSVS6\VC98\include”和 “C:\DEV\MSSDK6\include”。如果一个头文 件ctype.h存放在这两个文件夹之一,则文件包 含命令为: ►在“Directories”标签中可以任意添加、删除、 修改VC的系统INCLUDE路径和系统LIB路径。 17
32
13.1.4 函数库的包含和连接
►在程序连接阶段,专业函数库的库文件(*.lib
或*.a)必须添加到开发环境中。 ►在VC中添加库文件的方法是在“Workspace” 程序项目的右键菜单中选择“Settings...”菜单 命令,或者单击主菜单“Project/Settings...”, 打开“Project Settings”对话框,如图所示。 在对话框中单击“Link”标签,在 “Object/library modules:”后面增加库文件, 例如libgsl.lib和libgslcblas.lib,使用空格分隔 多个库文件,单击“OK”确定添加、删除、修 改库文件操作。这样的操作方式称为VC程序 项目添加库。
►如图所示为VC和CodeBlocks安装文件夹的
目录结构。
5
13.1.1 开发环境的路径参数
图13.1 Visual C++和CodeBlocks安装文件夹目录结构
6
13.1.1 开发环境的路径参数
►可以看到在<VC>和<CodeBlocks>文件夹中
都有include和lib两个文件夹,大多数C++语 言开发工具基本如此。
►(2)添加路径法 ►利用开发工具的图形界面可以将专业函数库
头文件和库文件所处的文件夹分别添加到开 发工具的系统INCLUDE路径和系统LIB路径 中。 ►添加路径的方法操作简单,操作一次后也使 得开发工具持久支持专业函数库,而且有便 于控制函数库版本升级的优点。当获得了专 业函数库新版本时,只需要将原先添加的路 径指向新版本的文件夹路径即可。
Байду номын сангаас
13.1.1 开发环境的路径参数
►C++语言开发工具安装后,一般会自动配置
好标准函数库的使用环境。因此使用标准库 函数的C++程序,可以直接编译和连接。但 如果是使用其他的专业函数库,如GSL科学 计算函数库,就需要配置开发环境。
►本节针对VC和CodeBlocks,介绍在
Windows系统下专业函数库的配置。
4
13.1.1 开发环境的路径参数
►假设VC安装文件夹为<VC>(如
C:\NTDEV\MSVS6\VC98),CodeBlocks安 装文件夹为<CodeBlocks>(如 C:\NTDEV\CodeBlocks\MinGW)。由于需 要经常使用开发工具的命令行实用程序,所 以安装时文件夹名称最好不要有空格,比如 像“C:\Program Files”。
19
13.1.3 开发环境的配置
►头文件的作用是让程序有函数原型、数据结
构、宏常量等声明。一般情况下,编译程序 时如果出现类似“某某函数未定义或数据未 定义”的错误,说明专业函数库的头文件路 径没有配置好。
20
13.1.3 开发环境的配置
►库文件的作用是让程序能够连接函数的二进
制目标代码。一般情况下,连接程序时如果 出现类似“某某函数未找到”的错误,说明 专业函数库的库文件路径没有配置好。
23
13.1.3 开发环境的配置
►专业函数库头文件和库文件的配置一般有三种
方法。 ►(1)复制文件法 ►可以将专业函数库的头文件和库文件全部复制 到开发工具的系统INCLUDE路径和系统LIB路径 中,例如<VC>\include和<VC>\lib文件夹、 <CodeBlocks>\include和<CodeBlocks>\lib文 件夹。如果专业函数库的头文件比较多或者为 了与标准库的头文件存放时有所区别,可以将 头文件复制到系统INCLUDE路径的一个子文件 夹中,但此时#include命令要包含相应的子文 件夹路径。 24
13.1.2 开发环境的路径设置
图13.3 Visual C++的系统INCLUDE路径和系统LIB路径
系统INCLUDE路径
系统LIB路径
18
13.1.3 开发环境的配置
►通常,一个提供给程序员使用的专业函数库
有四部分内容: ►①头文件(header); ►②库文件(library); ►③运行时文件(runtime); ►④使用手册文档。
10
13.1.1 开发环境的路径参数
►3.搜索路径 ►在Windows操作系统中,在“控制面板/系
统/高级/环境变量”中有一项“PATH”参数, 它是Windows的系统PATH路径。当一个程 序运行时,如果需要用到附加的动态链接库 DLL(dynamic linking library)文件,则 Windows规定该DLL文件要么与程序同处一 个文件夹,要么在系统PATH路径中,否则 程序不能运行。我们将程序所处的文件夹和 PATH路径统称为搜索路径,即查找运行时 文件的路径范围,它可以是多个文件夹的集 合。
26
13.1.3 开发环境的配置
►(3)搜索路径法 ►如果使用开发工具命令行版本的编译程序和
连接程序,例如VC的“CL.exe”和 CodeBlocks的“gcc.exe”,可以用搜索路径 来设置系统INCLUDE路径和系统LIB路径。方 法是在Windows“控制面板/系统/高级/环境 变量”中设置环境变量参数,表13-1为VC和 GCC对应的环境变量参数。 ►当使用命令行开发工具进行C程序编译和连接 时,会将环境变量“INCLUDE”和“LIB”作 为查找路径去搜索头文件和库文件。
13.1.3 开发环境的配置
►复制文件的方法操作简单,操作一次后使得
开发工具持久支持专业函数库,如同标准函 数库一般。该方法的缺点是开发工具系统路 径中的文件会越来越多,而且专业函数库新 版本的升级控制有一定的难度,各版本之间 的文件容易混淆,给库连接带来潜在冲突。
25
13.1.3 开发环境的配置
#include <gl/gl.h>
9
13.1.1 开发环境的路径参数
►2.系统LIB路径 ►lib文件夹存放开发工具默认安装的全部库文
件,称为系统LIB路径。VC的库文件扩展名 为.lib,GCC的库文件扩展名为.a。系统LIB路 径是开发工具连接库文件的基础路径,同样 使用相对路径来查找库文件。
14
13.1.2 开发环境的路径设置
► 单击“Search
directories” (搜索路径)标签,选 择“Compiler或Linker” (编译器或链接器)可 以设置CodeBlocks的系 统INCLUDE路径和系统 系统 INCLUDE LIB路径。在“Search 路径标签 directories”标签中可以 任意添加、删除、修改 CodeBlocks的系统 INCLUDE路径和系统LIB 路径。
►此外,命令行“CL.exe”和“gcc.exe”程序
本身有定位头文件和库文件的命令参数,形 式分别如下:
CL /Idir 指明编译时头文件的查找文件夹dir CL /link libfile 指明连接库libfile gcc -Idir 指明编译时头文件的查找文件夹dir gcc –Ldir 指明库文件的查找文件夹dir gcc –llibfile 指明连接库libfile
相关文档
最新文档