需要把v8i代码升级到ce
用了一下migradeTool:
管理员运行
然后就退出了,
请问有没有migradeTool的使用教程?
没有什么大用处,还需要安装Python等环境才行,就是帮你做了一些固定替换而已。
请问v8i转到ce的mke要怎么修改呢?
v8i:
#-------------------------------------------------------------------------------------- # # $RCSfile: RoadWayTool.mke,v $ # $Revision: 1.0 $ # $Date: 2019/05/05 02:15:54 $ # # $Copyright: (c) 2013 Bentley Systems, Incorporated. All rights reserved. $ # #-------------------------------------------------------------------------------------- appName = RoadWayTool sAppName = RoadWayTool baseDir = $(_MakeFilePath) %include mdl.mki dirToSearch = $(MSMDE)mdl/MicroStationAPI/ %include cincapnd.mki dirToSearch = $(genSrc) %include cincapnd.mki #---------------------------------------------------------------------- # Define macros specific to this program #---------------------------------------------------------------------- baseDir = $(_MakeFilePath) privateInc = $(baseDir) langSpec = $(baseDir) #------------------------------------------------------------------------ # Define symbols #------------------------------------------------------------------------ DLM_NAME = $(appName) DLM_OBJECT_DEST = $(o) DLM_LIBDEF_SRC = $(_MakefilePath) DLM_DEST = $(mdlapps) DLM_NO_DLS = 1 DLM_NO_DEF = 1 DLM_NOENTRY = 1 DLM_NO_DELAYLOAD = 1 DLM_NO_SIGN = 1 #DLM_NO_MANIFEST = 1 DLM_OBJECT_FILES = \ $(o)$(appName)$(oext) \ $(o)RoadWayBuild$(oext) \ $(o)BaseLine$(oext) \ $(o)Section$(oext) \ $(o)ExportData$(oext) \ $(o)Anchor$(oext) \ $(o)TubeWire$(oext) \ $(o)AnchorSet$(oext) \ $(o)RailInstance$(oext) \ $(o)pugixml$(oext) \ $(o)XAttributeOperate$(oext) \ $(o)RoadWayDependency$(oext) \ $(o)RoadWayDelete$(oext) DLM_LIBRARY_FILES = \ $(mdlLibs)basegeocoord$(libExt) \ $(mdlLibs)bentley.imodelconnection$(libExt) \ $(mdlLibs)bentley.imodelmessage$(libExt) \ $(mdlLibs)Bentley.MicroStation.GeoCoord$(libExt) \ $(mdlLibs)Bentley.MicroStation.Templates.Support$(libExt) \ $(mdlLibs)bentley.provenancenative$(libExt) \ $(mdlLibs)BentleyDGN$(libExt) \ $(mdlLibs)conslib$(libExt) \ $(mdlLibs)consolver$(libExt) \ $(mdlLibs)dbdlglib$(libExt) \ $(mdlLibs)ditemlib$(libExt) \ $(mdlLibs)insolationlib$(libExt) \ $(mdlLibs)kisolid$(libExt) \ $(mdlLibs)libextp$(libExt) \ $(mdlLibs)mdllib$(libExt) \ $(mdlLibs)msacis$(libExt) \ $(mdlLibs)msbspline$(libExt) \ $(mdlLibs)mspoplib$(libExt) \ $(mdlLibs)mtg$(libExt) \ $(mdlLibs)nativewindow$(libExt) \ $(mdlLibs)nativewinmfc$(libExt) \ $(mdlLibs)nativewinmfcu$(libExt) \ $(mdlLibs)packagerwiz$(libExt) \ $(mdlLibs)PointCloudHandler$(libExt) \ $(mdlLibs)rasterlib$(libExt) \ $(mdlLibs)rdbmslib$(libExt) \ $(mdlLibs)rendlib$(libExt) \ $(mdlLibs)rmgrsubs$(libExt) \ $(mdlLibs)sdaidlm$(libExt) \ $(mdlLibs)setmlib$(libExt) \ $(mdlLibs)solmisc$(libExt) \ $(mdlLibs)splindlm$(libExt) \ $(mdlLibs)stdutillib$(libExt) \ $(mdlLibs)toolsubs$(libExt) \ $(mdlLibs)zbhline$(libExt) \ $(mdlLibs)imagelib$(libExt) \ $(baseDir)PitOffice.lib #---------------------------------------------------------------------- # Define macros for files included in our link and resource merge #---------------------------------------------------------------------- appRscs = $(rscObjects)$(appName).rsc \ $(rscObjects)$(appName)msg.rsc \ $(rscObjects)$(sAppName)cmd.rsc \ $(o)$(appName)typ.rsc #---------------------------------------------------------------------- # Create output directories #---------------------------------------------------------------------- $(DLM_OBJECT_DEST)$(tstdir) : $(DLM_OBJECT_DEST)$(tstdir) $(DLM_DEST)$(tstdir) : $(DLM_DEST)$(tstdir) $(rscObjects)$(tstdir) : $(rscObjects)$(tstdir) $(baseDir)$(appName)cmd.h : $(baseDir)$(appName)cmd.r $(rscObjects)$(appName)cmd.rsc : $(baseDir)$(appName)cmd.r nameToDefine = SELECTFACETOOL_BUILD %include cdefapnd.mki #------------------------------------------------------------------------------ # Create & compile the application's resource files using rsctype and rcomp # These resources CONTAIN TRANSLATABLE TEXT. #------------------------------------------------------------------------------ $(rscObjects)$(appName).rsc : $(baseDir)$(appName).r $(o)$(appName)typ.r : $(baseDir)$(appName)typ.mt $(o)$(appName)typ.rsc : $(o)$(appName)typ.r #----------------------------------------------------------------------- # Generate language resource files #----------------------------------------------------------------------- $(rscObjects)$(appName)msg.rsc :$(langSpec)$(appName)msg.r #------------------------------------------------------------------------------ # Compile source files #------------------------------------------------------------------------------ $(o)$(appName)$(oext) : $(baseDir)$(appName).cpp \ $(baseDir)$(appName).h \ $(baseDir)$(appName)ids.h $(o)RoadWayBuild$(oext) : $(baseDir)RoadWayBuild.cpp \ $(baseDir)RoadWayBuild.h \ $(baseDir)BaseLine.h \ $(baseDir)Section.h \ $(baseDir)Anchor.h \ $(baseDir)TubeWire.h $(o)pugixml$(oext) : $(baseDir)pugixml.cpp \ $(baseDir)pugixml.hpp \ $(baseDir)pugiconfig.hpp $(o)BaseLine$(oext) : $(baseDir)BaseLine.cpp \ $(baseDir)BaseLine.h $(o)Section$(oext) : $(baseDir)Section.cpp \ $(baseDir)Section.h $(o)ExportData$(oext) : $(baseDir)ExportData.cpp \ $(baseDir)ExportData.h $(o)Anchor$(oext) : $(baseDir)Anchor.cpp \ $(baseDir)Anchor.h $(o)TubeWire$(oext) : $(baseDir)TubeWire.cpp \ $(baseDir)TubeWire.h $(o)AnchorSet$(oext) : $(baseDir)AnchorSet.cpp \ $(baseDir)AnchorSet.h $(o)RailInstance$(oext) : $(baseDir)RailInstance.cpp \ $(baseDir)RailInstance.h $(o)XAttributeOperate$(oext) : $(baseDir)XAttributeOperate.cpp \ $(baseDir)XAttributeOperate.h $(o)RoadWayDependency$(oext) : $(baseDir)RoadWayDependency.cpp \ $(baseDir)RoadWayDependency.h $(o)RoadWayDelete$(oext) : $(baseDir)RoadWayDelete.cpp \ $(baseDir)RoadWayDelete.h #--------------------------------------------- # link MDL Application #--------------------------------------------- $(rscObjects)$(appName).mi : $(appRscs) $(msg) > $(o)make.opt -o$@ $(appRscs) < $(RLibCmd) @$(o)make.opt ~time #------------------------------------------------------------------------------ # Link the DLM #------------------------------------------------------------------------------ %include dlmlink.mki appRscs = \ $(rscObjects)$(appName).mi moreRscCompileOpts + -i$(basedir) #------------------------------------------------------------------------------ # Create the final .ma (that holds just resources) #------------------------------------------------------------------------------ MA_NAME = $(appName) MA_DEST = $(tfMdlApp) MA_RSC_FILES = $(bbformsRscObjs) #--------------------------------------------- # Merge Objects into one file #--------------------------------------------- $(mdlapps)$(MA_NAME).ma : $(appRscs) $(msg) >$(o)make.opt -o$@ $(appRscs) < $(RLibCmd) @$(o)make.opt ~time
cmd.r:
#include <rscdefs.h> #include <cmdclass.h> #include "RoadWayTool.h" #include "RoadWayToolids.h" #define CT_NONE 0 #define CT_MAIN 1 #define CT_SUB 2 #define CT_SUB_EX 3 /*------------------------------------------------------------------------------+ | Table <tableId> = | | { { <number>, <subTableId>, <cmdclass>, <option>, "<cmdWord>" }; }; +-------------------------------------------------------------------------------*/ Table CT_MAIN = { { 1, CT_SUB, PLACEMENT, REQ, "ROADWAY" }, { 2, CT_SUB_EX, PLACEMENT, REQ, "EXCEL" }, }; //巷道创建工具 Table CT_SUB = { { 1, CT_NONE, INHERIT, NONE, "PICK" }, { 2, CT_NONE, INHERIT, NONE, "PLACE"}, { 3, CT_NONE, INHERIT, NONE, "DELETE"}, { 4, CT_NONE, INHERIT, NONE, "ANCHOR"}, { 5, CT_NONE, INHERIT, NONE, "ADDROW"}, { 6, CT_NONE, INHERIT, NONE, "DELROW"}, { 7, CT_NONE, INHERIT, NONE, "CLEARATTRIBUTE" }, }; //巷道Excel表 Table CT_SUB_EX = { { 1, CT_NONE, INHERIT, NONE, "CORDINATE"}, { 2, CT_NONE, INHERIT, NONE, "ENGENEER"}, };
修改部分:
appName = RoadWayTool sAppName = RoadWayTool mdlLibs = $(MSMDE)library/ baseDir = $(_MakeFilePath) o=$(baseDir)temp/ genSrc = $(o) %include mdl.mki dirToSearch = $(MSMDE)include/ %warn $(dirToSearch) %include cincapnd.mki dirToSearch = $(genSrc) %include cincapnd.mki
#include <Mstn\MdlApi\rscdefs.r.h> #include <Mstn\MdlApi\cmdclass.r.h> #include "RoadWayTool.h" #include "RoadWayToolids.h" #define CT_NONE 0 #define CT_MAIN 1 #define CT_SUB 2 #define CT_SUB_EX 3 /*------------------------------------------------------------------------------+ | Table <tableId> = | | { { <number>, <subTableId>, <cmdclass>, <option>, "<cmdWord>" }; }; +-------------------------------------------------------------------------------*/ CommandTable CT_MAIN = { { 1, CT_SUB, PLACEMENT, REQ, "ROADWAY" }, { 2, CT_SUB_EX, PLACEMENT, REQ, "EXCEL" }, }; //巷道创建工具 CommandTable CT_SUB = { { 1, CT_NONE, INHERIT, NONE, "PICK" }, { 2, CT_NONE, INHERIT, NONE, "PLACE"}, { 3, CT_NONE, INHERIT, NONE, "DELETE"}, { 4, CT_NONE, INHERIT, NONE, "ANCHOR"}, { 5, CT_NONE, INHERIT, NONE, "ADDROW"}, { 6, CT_NONE, INHERIT, NONE, "DELROW"}, { 7, CT_NONE, INHERIT, NONE, "CLEARATTRIBUTE" }, }; //巷道Excel表 CommandTable CT_SUB_EX = { { 1, CT_NONE, INHERIT, NONE, "CORDINATE"}, { 2, CT_NONE, INHERIT, NONE, "ENGENEER"}, };
出现了
路径是存在的
v8i的项目用到的mke文件跟CE的mke文件里边有很多宏都变了,而且SDK的路径也有不小的变化。不建议您直接拿一个v8i的完整项目直接改成CE的项目,而是先拿一个现成的CE的项目,然后把v8i的项目的内容一点一点放到这个CE的项目里边,SDK这个目录下边C:\Program Files\Bentley\MicroStationCONNECTSDK\examples有很多现成的例子,找一个代码文件比较少的改改名字变成自己的项目,然后把v8i的代码一点一点搬过来。
在SDK中找到如下PDF文件:
C:\Program Files\Bentley\MicroStationCONNECTSDK\Documentation\Migration\Using MicroStation x64 Beta 1 MDL SDK\Using MicroStation x64 Beta 1 MDL SDK-v2.pdf
里面有一个从V8i到CE的项目移植过程的描述。您可以参照执行。
当然,写文档时MSCE刚刚出技术预览版,里面的内容许多比较老,仅供参考。