在安装了Parser Generator后,执行以下步骤,即可使VC++编译和连接由Parser
Generator产生的文件。
1.目录设置
在VC++中执行以下步骤,每个步骤只执行一次。
(1) 选择Tools菜单中的Options命令,在屏幕上即会出现Options对话框。
(2) 选择Directories选项卡。
(3) 在Show Directories for下拉列表框中选择Include Files。
(4) 在Directories框中,点击最后的空目录,并填入Parser Generator的include
子目录的路径。
(5) 在Show Directories for下拉列表框中选择Library Files。
(6) 在Directories框中,点击最后的空目录,并填入Parser Generator的
lib\msdev子目录的路径。
(7) 在Show Directories for下拉列表框中选择Source Files。
(8) 在Directories框中,点击最后的空目录,并填入Parser Generator的Source
子目录的路径。
(9) 点击OK按钮,Options对话框将接受设置并关闭。
VC++在就可以找到包含文件yacc.h和lex.h以及YACC和Lex的库文件。
2.项目设置
对于每个VC++项目,都需在VC++中执行以下步骤:
(1) 选择Project菜单中的Settings命令,在屏幕上即会出现Project Settings对
话框。
(2) 在Settings for下拉列表框中选择Win32 Debug。
(3) 选择C/C++标签。
(4) 在Category下拉列表框中选择General。
(5) 在Preprocessor Definitions框中,在当前文本的最后,输入YYDEBUG。
(6) 选择Link标签。
(7) 在Category下拉列表框中选择General。
(8) 在Object/Library Modules框中,在当前文本的后面,输入yld.lib //这里好象实际使用中不包括后面两个库
ylmtd.lib ylmtdlld.lib。
(9) 在Settings for下拉列表框中选择Win32 Release。
(10) 重复第8步的工作。
(11) 点击OK按钮,Project Settings对话框将接受设置并关闭。
VC++现在可以从特定的库中接受YACC和Lex所需的函数和变量。
3.应用
(1)在Parser Generator下的编辑窗口输入YACC源程序(扩展名必须为.y)。
(2)用Parser Generator下的Project菜单的Compile file命令编译源程序,生成相应的C
语言源程序(.cpp)。
(3)用VC++编译,连接C语言源程序,生成可执行程序(.exe)后即可执行。
可把视频转换MP3音频格式--视频转换大师
--
华军下载
http://www.onlinedown.net/softdown/16280_2.htm
万能转换软件--为视频格式文件转换提供了终极解决方案,它能够读取各种视频和音频文件,并且将他们快速转换为流行的媒体文件格式。拥有非常漂亮友好的界面.
它几乎涵盖了所有流行的影音多媒体文件格式,
包括AVI,
Mpg,
RM,
RMVB,
3GP,
MP4,
AMV,
Mpeg,
Mpeg1,
Mpeg2,
Mpeg4,
VCD,
SVCD,
DVD,
XVID,
DivX,
ASF,
WMV,
SWF,
IPOD,
PSP,
GIF,
MJPEG,
QuickTime,
MOV,
FLV,
MKV,
DV以及所有的音频格式.
pro文件里的相对路径不全都是相对于pro文件的,有的是,有的不是。1、一种情况下./表示.pro文件所在的目录;另一种情况下./表示构建生成目录;
1.1.是的情况
SOURCE
FORMS
HEADERS
INCLUDEPATH
DEPENDPATH 等等
这些变量中使用的./指的是.pro文件所在的目录
1.2.不是的情况
DESTDIR
OBJECTS_DIR
MOC_DIR
RCC_DIR
UI_DIR
UI_HEADERS_DIR
UI_SOURCES_DIR
win32:CONFIG(debug)
win32:CONFIG(release) 等等
这些变量中使用的./指的是构建生成目录。
2、影子构造说明
如果没有选择影子构造(shadow build),构建生成目录和.pro文件所在目录是同一个目录;
如果指定了shadow build,且指定了构建生成目录,那构建目录和.pro文件所在目录就不是同一个。
我们默认是会选择shadow build的,所以构建目录≠.pro目录。
3、subdirs:多工程多目录的情况
它们的相对路径都是针对你项目下的构建目录+子项目文件夹来的,例如
TEMPLATE = subdirs
SUBDIRS = \
muparser \
librecad
CONFIG += order
那么构建目录,BuildPath假如是F:\CADCAM\QCAD\src\build-LibreCAD-v1.0.4-qt4-Desktop_Qt_4_8_7_MSVC2010_32bit-Debug
于是,相对路径和绝对路径的对应关系,分别是:
---举例1---
相对,DESTDIR = bin
绝对,DESTDIR =$${BuildPath}/muparser/bin
绝对,DESTDIR =$${BuildPath}/librecad/bin
---举例2---
相对,DESTDIR = ../bin
绝对,$${BuildPath}/bin
4、.pro文件打印输出
在.pro文件,添加message函数,保存,会在“编译输出”窗口,打印出结果。
message($$PROJECT_ROOT)
message($$PWD)
message($$DESTDIR)
message($$TARGET)
Project MESSAGE: F:/CADCAM/QCAD/src/LibreCAD-v1.0.4-qt4/muparser
Project MESSAGE: F:/CADCAM/QCAD/src/LibreCAD-v1.0.4-qt4/muparser
Project MESSAGE: ../bin/lib
Project MESSAGE: muparserd
5、.pro常用的宏定义
TEMPLATE = app
HEADERS:需要包含的头文件的列表。
SOURCES:需要的源文件的列表。
FORMS:需要的.ui文件的列表。
LEXSOURCES:所有lex源文件的列表。
YACCSOURCES:所有yacc源文件的列表。
TARGET:可执行应用程序的名称。默认值为项目文件的名字。
DESTDIR:放置可执行程序目标的目录。
OBJECTS_DIR:放置obj中间文件的目录。
MOC_DIR: moc转换文件路径。
RCC_DIR: 资源文件路径。
UI_DIR:ui文件转换的路径。
RESOURCES:需要包含的资源文件。
LIBS:依赖库的路径和名称 -L{xxdirxx} -l{xxnamexx}。
LIBEXT: 产生lib的后缀。
DEFINES:应用程序所需的额外的宏定义列表。
INCLUDEPATH:应用程序所需的额外的包含路径列表。
DEPENDPATH:应用程序所依赖的搜索路径。
VPATH:寻找补充文件的搜索路径。
DEF_FILE:只有Windows需要:应用程序所要连接的.def文件。
RC_FILE:只有Windows需要:应用程序的资源文件。
RES_FILE:只有Windows需要:应用程序所要连接的资源文件。
TRANSLATIONS: 多国语言支持文件。
INSTALLS: 要安装的文件。
target.path: 安装的路径。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)