Q:编译CAA工程时,报错误:
## start step: link2nd at 09/02/2024-10:59:13
# make: CAAFrame\CAAModule.m win_b64\code\bin\CAAModule.dll
CatiaHelper.obj : error LNK2019: 无法解析的外部符号 "private: void __cdecl CATIRedrawEvent_var::__CastTo(struct IUnknown *)" (?__CastTo@CATIRedrawEvent_var@@AEAAXPEAUIUnknown@@@Z),该符号在函数 "public: __cdecl CATIRedrawEvent_var::CATIRedrawEvent_var(class CATBaseUnknown_var const &)" (??0CATIRedrawEvent_var@@QEAA@AEBVCATBaseUnknown_var@@@Z) 中被引用
C:\Users\Administrator\Desktop\MDI_Catia\.\win_b64\code\bin\CAAModule.dll : fatal error LNK1120: 1 个无法解析的外部命令
# make-ERROR: win_b64\code\bin\CAAModule.dll
## end step: link2nd at 09/02/2024-10:59:14
A:找到无法解析的命令,这里找到CATIRedrawEvent所在的头文件,然后找到对应的库,再在IdentityCard.h文件里定义即可:
在项目中找到并编辑文件IdentityCard.h,然后添加代码:
AddPrereqComponent("ObjectModelerBase",Public);
AddPrereqComponent("ObjectModelerBaseUI",Public);
AddPrereqComponent("ObjectModelerCATIA",Public);
AddPrereqComponent("ObjectModelerCATSDM",Public);
AddPrereqComponent("ObjectModelerCollection",Public);
AddPrereqComponent("ObjectModelerInterfaces",Public);
AddPrereqComponent("ObjectModelerNavigator",Public);
AddPrereqComponent("ObjectModelerSDM",Public);
AddPrereqComponent("ObjectModelerSystem",Public);
重新编译即可。