安装
vs2010+vs2010sp1补丁
浩辰2018(64位版本)
浩辰Grx的SDK,注意对应版本年份,解压到E盘目录下, E:grxsdk
在他们的官方用户群下载,搜sdk, 找到grxsdk2018版本1月.zip....未来可能在官网会提供这些东西的下载方式?
浩辰的sdk压缩包的名字有点乱七八糟的,下载之后记得检查里面他txt...
说实话,他们的开发文档可能自己都没有试过...
或者太乱七八糟了,在移植的那本写了的内容,在mfc的写了的内容,但是最基础的hello world却是漏写了.....
而且又没有桌子那种 Wizards 不需要手动配置....
所以为了大家,为了我自己....
我决定把这个流程一步步写下去....
测试项目
启动vs2010
再右击项目,点添加-新建项
添加一个cpp,不然属性不出现c/c++的选项!!(下面有截图)
什么都不写,再右击项目,点属性.
开始进入配置:
新建一个64位的工程…因为我用的是浩辰的64位版本,如果是多个浩辰的版本,就要这里加多一个配置.
e:grxsdkincarx
改Debug配置
_TOOLKIT_IN_DLL_
如果弹出保存就点保存
改Release配置
然后点确定,生成一次..没错就继续…
再点到项目的属性
e:grxsdklib-x64
e:grxsdklib-x86
e:grxsdkincarxRxExport.def
如果是成功编译,但是无法加载,请检查这个位置是不是设置错了!!
grxport.lib;Td_Root.lib;Td_DbRoot.lib;Td_Db.lib;Td_Ge.lib;Td_Gi.lib;Td_Gs.lib;gcad.lib;gcap.lib;gcdb.lib;gced.lib;gcgs.lib;gcut.lib;gcui.lib
他们文档里写了这个地方,但是我发现会自设..所以如果配置有问题,要看看下面的地方
[链接器]
[高级]/[目标计算机]设为(32位):MachineX86 (/MACHINE:X86) 会自设
[高级]/[目标计算机]设为(64位):MachineX64 (/MACHINE:X64) 会自设
一些配置的错误提示:
error LNK2038:
检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(FuckCAD.obj 中)
表示了[c/c++]/ [预处理器]/[预处理器定义],没有删掉_DEBUG
在这里,大家就已经配置好了开发环境了,可以再试试加入代码到cpp内,然后重新生成,如果没好,看看下面…
.CPP内加的hello world 代码

#include <arxHeaders.h> #include <tchar.h> void initApp(); void unloadApp(); void HelloWorld(); /// <summary> /// 加载的时候注册命令 /// </summary> void initApp() { //register a command with the GstarCAD command mechanism acedRegCmds->addCommand(_T("HELLOWORLD_CMDS"), _T("Hello"), _T("Hello"), ACRX_CMD_TRANSPARENT, HelloWorld); } /// <summary> /// 卸载的时候移除命令 /// </summary> void unloadApp() { acedRegCmds->removeGroup(L"HELLOWORLD_CMDS"); } /// <summary> /// 发送文字到命令栏 /// </summary> void HelloWorld() { acutPrintf(L" Hello World!"); } // 按着C的规则去翻译相应的函数名而不是C++的 extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg,void *pkt) { switch(msg) { case AcRx::kInitAppMsg: acrxDynamicLinker->unlockApplication(pkt); acrxDynamicLinker->registerAppMDIAware(pkt); initApp(); break; case AcRx::kUnloadAppMsg: unloadApp(); break; default: break; } return AcRx::kRetOK; }
加载
记得不要加载错了,32位和64位,debug,和release的位置各不相同......但是每次开cad都要手动加载很麻烦,怎么办?
调试部分:
然后每次按F5调试,就会自动加载这个grx文件,嘻嘻
直接输入命令,不用ap来加载grx了.
MFC篇
他们写教程居然写得那么隐含....
暂时研究失败.....
待续......