从浩辰CAD2021到浩辰CAD 2023 升级记录如下:
1.项目mygreta不用修改,即可编译成功。
2.项目blkdll报错如下,LNK1104: 无法打开文件“grxport.lib”。
1>------ 已启动生成: 项目: blkdll, 配置: Debug x64 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(391,5): warning MSB8028: 中间目录(..\debug\)包含从另一个项目(blkuserdll.vcxproj, tcl.vcxproj, tharx.vcxproj)共享的文件。 这会导致错误的清除和重新生成行为。
1>已完成生成项目“mygreta.vcxproj”的操作。
1>LINK : fatal error LNK1104: 无法打开文件“grxport.lib”
1>已完成生成项目“blkdll.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 1 个,跳过 0 个 ==========
配置文件修改如下:
附加包含目录,由:$(GrxSdkDir)\arx\inc,改为:$(GrxSdkDir)\inc\arx
附加库目录,由:$(GrxSdkDir)\lib-x64;,改为:$(GrxSdkDir)\arx\lib-x64;
模块定义文件:$(GrxSdkDir)\arx\inc\AcRxDefault.def;
3.项目: blkuserdll, 配置: Debug x64 ------
1>stdafx.h(112): fatal error C1083: 无法打开包括文件: “arxHeaders.h”: No such file or directory
增加包含目录:$(GrxSdkDir)\arx\inc;
//在GstarCAD规范下,重写readDwgFile modified by zhao_anan 20230801 begin
//Acad::ErrorStatus es = pSourceDwg->readDwgFile(fileName, _SH_DENYNO);
Acad::ErrorStatus es = pSourceDwg->readDwgFile(fileName, AcDbDatabase::kForReadAndAllShare, false, (const wchar_t*)nullptr);
//在GstarCAD规范下,重写readDwgFile modified by zhao_anan 20230801 end
//在GstarCAD规范下,重写readDwgFile modified by zhao_anan 20230801 begin
//Acad::ErrorStatus es = pBlkDb->readDwgFile(dwgFileName, _SH_DENYNO);
Acad::ErrorStatus es = pBlkDb->readDwgFile(dwgFileName, AcDbDatabase::kForReadAndAllShare, false, (const wchar_t*)nullptr);
//在GstarCAD规范下,重写readDwgFile modified by zhao_anan 20230801 end
//在GstarCAD规范下,重写acedSSLength调用参数 modified by zhao_anan 20230801 begin
//long length = 0;
Gsoft::Int32 length = 0;
acedSSLength(sset, &length);
//在GstarCAD规范下,重写acedSSLength调用参数 modified by zhao_anan 20230801 end
//在GstarCAD规范下,重写setFont调用参数 modified by zhao_anan 20230801 begin
//pTextStyle->setFont(m_strFontName, 0, 0, 134, 1); //注意 ;
pTextStyle->setFont(m_strFontName, 0,
0, Charset::kChineseSimpCharset,
Gssoft::Gscad::PAL::FontUtils::FontPitch::kDefault,
Gssoft::Gscad::PAL::FontUtils::FontFamily::kDoNotCare,
false);
//在GstarCAD规范下,重写setFont调用参数 modified by zhao_anan 20230801 end
//在GstarCAD规范下,重写setFont调用参数 modified by zhao_anan 20230801 begin
//pTextStyle->setFont(strFont_Name, 0, 0, 134, 1); //注意 ;
pTextStyle->setFont(strFont_Name, 0,
0, Charset::kChineseSimpCharset,
Gssoft::Gscad::PAL::FontUtils::FontPitch::kDefault,
Gssoft::Gscad::PAL::FontUtils::FontFamily::kDoNotCare,
false);
//在GstarCAD规范下,重写setFont调用参数 modified by zhao_anan 20230801 end
1>c:\users\zhaoanan\source\repos\cad2013-code\blkuserdll\usersystem2.cpp(3897): error C2280: “GcDbViewTableRecord::GcDbViewTableRecord(const GcDbViewTableRecord &)”: 尝试引用已删除的函数
经过浩辰反馈:浩辰2023的grx接口现在是按照arx2020的接口定义,不建议基于浩辰2021进行移植。
https://damassets.autodesk.net/content/dam/autodesk/files/objectarxwizard2024.zip
https://raw.githubusercontent.com/ADN-DevTech/ObjectARX-Wizards/ForAutoCAD2021/ObjectARXWizardsInstaller/ObjectARXWizard2021.zip
https://raw.githubusercontent.com/ADN-DevTech/ObjectARX-Wizards/ForAutoCAD2020/ObjectARXWizardsInstaller/ObjectARXWizard2020.zi
正在升级项目“zndraw”...
正在升级项目“tharx”...
正在升级项目“ugrid”...
正在升级项目“blkdll”...
正在升级项目“blkcad”...
正在升级项目“tinyxml”...
正在升级项目“mygreta”...
正在升级项目“tcl”...
正在升级项目“blkuserdll”...
正在升级项目“znpmt”...
重定目标结束: 10 个已完成,0 个未通过,0 个已跳过
包含目录,引用目录,库目录地址分别为:
$(ArxSdkIncs);$(ArxHlrIncs);$(ArxAmodelerIncs);$(ArxBrepIncs);$(ArxAtilIncs);$(IncludePath)
$(ArxSdkIncs);$(ReferencePath)
$(ArxSdkLibs);$(LibraryPath);$(ArxHlrLibs);$(ArxAmodelerLibs);$(ArxBrepLibs);$(ArxLibIncs)
链接器,输出文件:
$(OutDir)$(ProjectName).arx
链接器,输入附加依赖项:
arx2020依赖项为:
rxapi.lib
acdb23.lib
acge23.lib
acad.lib
ac1st23.lib
accore.lib
arx2013依赖项为:
rxapi.lib
acdb19.lib
acge19.lib
acad.lib
ac1st19.lib
accore.lib
链接器-调试-生成程序数据库文件:
$(OutDir)$(TargetName).pdb
浩辰升级进入新的阶段,就是从arx2013升级到arx2020,再从arx2020升级到浩辰2023。
从浩辰2021升级到浩辰2023是不可行的,从arx2023升级到浩辰2023也是不可行的。
经过两周的刻苦努力,我们完成了基于arx2013移植到了浩辰2021,取得了突破性成果。
为了充分利用现有工作成果,确定了基于浩辰2021强行移植到浩辰2023的路线。
不支持这么做,因为浩辰2023并不是基于浩辰2021的接口定义的。
据反馈,移植浩辰2023,要用vs2017,平台工具集用v141。
浩辰2023是基于arx2020的接口定义,所以最稳健的路线是基于arx2020进行移植。
我们试过基于浩辰2021强行移植到浩辰2023,最终工程的入口都编译不成功,导致该方案彻底失败。
而arx2023的工程,平台工具集必须选择v142,对应的VS版本是2019,这和浩辰2023工具集也不匹配。
基于浩辰2021强行升级到浩辰2023编译失败
arx2023对应VS2019,工具集为V142
基于平台工具集v141编译arx2023工程失败
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删