MicroStation中关于mke文件的详解
在进行MicroStation的二次开发中,经常会对mke文件进行修改。让我们来看一下mke文件中的具体用法
1. 几个关键的用法
# 注释
= 宏定义
$ 宏展开
\ 续行符
/ 文件路径分割符
2. 几个必须包含
开头要加 %include mdl.mki
(系统头文件)
结尾要加 %include dlmlink.mki
(调用文件) 其后必须加空行,否则会报错
3. 几个解释
appObjs = $(o)$(appName)$(oext)
$(o)
---------------创建文件路径
$(appName)
-------文件名
$(oext)
-----------.obj后缀名
always:~mkdir $(o)~mkdir $(rscObjects)~mkdir $(reqdObjs)
当不存在时,创建文件夹
#--------------------------------------------
# Create command table and header file
#--------------------------------------------
#$(baseDir)$(appName)cmd.h : $(baseDir)$(appName)cmd.r#$(o)$(appName)cmd.rsc : $(baseDir)$(appName)cmd.r
当给应用添加命令时,用于创建cmd文件的header和rsc文件
以:分割,:前面的文件依赖于:后面的文件
#---------------------------------------------------------------
# Builds any necessary CODE modules and link them to DLL
#---------------------------------------------------------------
$(o)$(appName)$(oext) : $(baseDir)$(appName).cpp
每增加一个cpp文件,就要增加一行
最后来看一下完整mke代码
#---------------------------------------------------------------
# MstnCE HelloWorld.mke
#---------------------------------------------------------------
PolicyFile = MicroStationPolicy.mki
DEFAULT_TARGET_PROCESSOR_ARCHITECTURE=x64appName = HelloWorldappObjs = $(o)$(appName)$(oext)appRscs = $(o)$(appName).rscbaseDir = $(_MakeFilePath)
mdlLibs = $(MSMDE)library/%include mdl.mki#---------------------------------------------------------------
# Create needed output directories if they don't exist
#---------------------------------------------------------------
always:~mkdir $(o)~mkdir $(rscObjects)~mkdir $(reqdObjs)#---------------------------------------------------------------
# Define macros for files included in our link and resource merge
#---------------------------------------------------------------
DLM_NO_SIGN = 1
DLM_OBJECT_DEST = $(o)
DLM_NAME = $(appName)
DLM_OBJECT_FILES = $(appObjs)
DLM_NO_DLS = 1
DLM_NO_DEF = 1
DLM_NOENTRY = 1
DLM_NO_MANIFEST = 1
DLM_DEST = $(mdlapps)
LINKER_LIBRARIES = $(mdlLibs)bentley.lib \$(mdlLibs)mdlbltin.lib \$(mdlLibs)BentleyGeom.lib \$(mdlLibs)DgnPlatform.lib#--------------------------------------------
# Create command table and header file
#--------------------------------------------
#$(baseDir)$(appName)cmd.h : $(baseDir)$(appName)cmd.r#$(o)$(appName)cmd.rsc : $(baseDir)$(appName)cmd.r#---------------------------------------------------------------
# Generate resource files
#---------------------------------------------------------------
$(o)$(appName).rsc : $(baseDir)$(appName).r#---------------------------------------------------------------
# Generate MA
#---------------------------------------------------------------
$(mdlapps)$(appName).ma : $(appRscs)$(msg)> $(o)make.opt-o$@$(appRscs)<$(RLibCmd) @$(o)make.opt~time#---------------------------------------------------------------
# Builds any necessary CODE modules and link them to DLL
#---------------------------------------------------------------
$(o)$(appName)$(oext) : $(baseDir)$(appName).cpp%include dlmlink.mki
参考BDN社区
MicroStation中关于mke文件的详解相关推荐
- mysql映射mapper_Mybatis中Mapper映射文件使用详解
紧接上文所述,在这篇文章中我将对Mapper映射文件进行详细的说明. Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看 ...
- linux的根文件系统中的proc文件夹详解
什么是proc文件系统 |linux /proc目录介绍|proc中文手册 proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提供接 ...
- VScode 插件中 package.json 文件字段详解
一.package.json文件内容 {// 插件的名字,应全部小写,不能有空格: string"name": "my-vscode-plugin",// 版本 ...
- abaqus dat文件 matlab_工程师联盟科普系列|ABAQUS中的各种文件类型详解-dat文件如何打开...
ABAQUS产生几类文件:有些是在运行是产生,运行后自动删除:其它一些用于分析.重启.后处理.结果转换或其它软件的文件则被保留,详细如下: 1. model_database_name.cae 模型信 ...
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下)
本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 上篇文章<<Android中measure过程.WRAP_CONTENT详解以及xml布局文 ...
- java实现for文件删除_Java 添加、删除、替换、格式化Word中的文本的步骤详解(基于Spire.Cloud.SDK for Java)...
Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...
- python setting.py_python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
最新文章
- [云炬创业基础笔记]第五章创业机会评估测试10
- 正则表达式元字符整理
- python统计提取数量_python中统计计数的几种方法和Counter的介绍
- vue3数据绑定显示列表数据局
- (篇三)C语言的冒泡排序多解、选择排序、数组合并、矩阵相加
- 下一代 Windows 将至,是全新的 Windows 11 还是 Windows 10 的延续?
- 自动驾驶_产品象限图_清洁机器人场景
- CAd常用的系统变量
- matlab窄带高斯随机信号,06实验六:窄带随机信号仿真与分析
- scratch作品_孩子的scratch作品只能演示?教你把它三步变为电脑软件
- 【参透浏览器原理】1—— 为什么明明浏览器只打开了一个页面,却出现了多个进程
- Mybatis中,SQLSessionFactoryBuilder使用build方法时做了哪些事?
- Aptana Studio3安装方式
- SV学习(4)——数据作用域和类型转换 $cast()
- C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)
- php常见的五种设计模式,PHP常见的6种设计模式
- 简单理解:ML、DB、NLP
- 如何利用pandas将速度提高10倍?
- STM8 ADC读取数据异常问题的解决
- winform数据存储的方式
热门文章
- UIImagePickerController本地化控件文字
- 小程序drawImage接口canvas生成产品海报失败
- ipv4 pxe 联想start_PC开机出现Start pxe over ipv4解决办法 PC重启后显示start pxe over IPv4...
- 精品餐饮业奢华西餐专业PPT-朴尔PPT
- MMA7455L笔记
- TPS5430正电源转正负电源 低纹波
- 氨基酸三字母转一个字母
- 20M宽带的下载速度到时有没有20MB/s?
- 计算机关机后风扇还转,电脑关机后cpu风扇还在转怎么办?解决电脑关机后cpu散热器还在转...
- mysql 模糊匹配比自己短潆字符_根据中文字符串查询拼音声母