安装vs2010+sp1补丁;
安装浩辰2008(64位版本);
下载浩辰Grx开发SDK., 解压到E盘目录下, E:\grxsdk 在他们的官方用户群下载,搜sdk, 找到grxsdk2018版本1月.zip
浩辰的sdk压缩包的名字有点乱七八糟的,下载之后记得检查里面他txt...
说实话,他们的开发文档可能自己都没有试过...或者太乱七八糟了,在移植的那本写了的内容,在mfc的写了的内容,但是最基础的hello world却是漏写了.....
为了大家,为了我自己....我决定把这个流程一步步写下去...
正式的来了...
启动vs2010
对着项目右击,添加一个cpp,不然属性不出现c/c++的选项!!(下面有截图)
再右击项目,点添加-新建项
添加一个cpp,不然属性不出现c/c++的选项!!(下面有截图)
什么都不写,再右击项目,点属性.
开始进入配置:
新建一个64位的工程…因为我用的是浩辰的64位版本,如果是多个浩辰的版本,就要这里加多一个配置.
e:\grxsdk\inc\arx
改Debug配置
_TOOLKIT_IN_DLL_
如果弹出保存就点保存
改Release配置
然后点确定,生成一次..没错就继续…
再点到项目的属性
e:\grxsdk\lib-x64
e:\grxsdk\lib-x86
e:\grxsdk\inc\arx\RxExport.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
在这里,大家就已经配置好了开发环境了,可以再试试加入代码到cpp内,然后重新生成,如果没好,看看下面…
一些配置的错误提示:
error LNK2038:
检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(FuckCAD.obj 中)
表示了[c/c++]/ [预处理器]/[预处理器定义],没有删掉_DEBUG
.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"\nHello 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了.