c++篇 cad.grx 入门,手动配置编译环境
安裝vs2010+sp1補丁;
安裝浩辰2018(64位版本);
下載浩辰Grx開發(fā)的SDK,注意對應版本年份., 解壓到E盤目錄下, E:\grxsdk
在他們的官方用戶群下載,搜sdk, 找到grxsdk2018版本1月.zip....未來可能在官網(wǎng)會提供這些東西的下載方式?
浩辰的sdk壓縮包的名字有點亂七八糟的,下載之后記得檢查里面他txt...
?
?
?
說實話,他們的開發(fā)文檔可能自己都沒有試過...
或者太亂七八糟了,在移植的那本寫了的內(nèi)容,在mfc的寫了的內(nèi)容,但是最基礎的hello world卻是漏寫了.....
而且又沒有桌子那種?Wizards 不需要手動配置....
所以為了大家,為了我自己....
我決定把這個流程一步步寫下去....
?
?
?
正式的來了...
啟動vs2010
?
??
?
?
再右擊項目,點添加-新建項
?
?
添加一個cpp,不然屬性不出現(xiàn)c/c++的選項!!(下面有截圖)?
?
什么都不寫,再右擊項目,點屬性.
?
?
開始進入配置:
?
?
?
新建一個64位的工程…因為我用的是浩辰的64位版本,如果是多個浩辰的版本,就要這里加多一個配置.
?
?
?
??
e:\grxsdk\inc\arx
?
?改Debug配置
?
?
_TOOLKIT_IN_DLL_??
如果彈出保存就點保存
?
?
?改Release配置
?
?
?
?
?
然后點確定,生成一次..沒錯就繼續(xù)…
??
?
?
?
?
再點到項目的屬性
?
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
?
他們文檔里寫了這個地方,但是我發(fā)現(xiàn)會自設..所以如果配置有問題,要看看下面的地方
[鏈接器]
[高級]/[目標計算機]設為(32位):MachineX86 (/MACHINE:X86) 會自設
[高級]/[目標計算機]設為(64位):MachineX64 (/MACHINE:X64) 會自設
??
一些配置的錯誤提示:?
?
error LNK2038:
檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“0”不匹配值“2”(FuckCAD.obj 中)
表示了[c/c++]/ [預處理器]/[預處理器定義],沒有刪掉_DEBUG
??
?
?在這里,大家就已經(jīng)配置好了開發(fā)環(huán)境了,可以再試試加入代碼到cpp內(nèi),然后重新生成,如果沒好,看看下面…
?
.CPP內(nèi)加的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 mechanismacedRegCmds->addCommand(_T("HELLOWORLD_CMDS"), _T("Hello"), _T("Hello"), ACRX_CMD_TRANSPARENT, HelloWorld); }/// <summary> /// 卸載的時候移除命令 /// </summary> void unloadApp() {acedRegCmds->removeGroup(L"HELLOWORLD_CMDS"); }/// <summary> /// 發(fā)送文字到命令欄 /// </summary> void HelloWorld() { acutPrintf(L"\nHello World!"); }// 按著C的規(guī)則去翻譯相應的函數(shù)名而不是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; } View Code?
?
加載
?
記得不要加載錯了,32位和64位,debug,和release的位置各不相同......但是每次開cad都要手動加載很麻煩,怎么辦?
?
調(diào)試部分:
?
?
?
?
然后每次按F5調(diào)試,就會自動加載這個grx文件,嘻嘻
?
直接輸入命令,不用ap來加載grx了.
?
?
MFC篇
他們寫教程居然寫得那么隱含....
暫時研究失敗.....
待續(xù)......
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/JJBox/p/10961690.html
總結(jié)
以上是生活随笔為你收集整理的c++篇 cad.grx 入门,手动配置编译环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用matlab解系统框图,控制系统框图(
- 下一篇: s3c2440移植MQTT