c++篇 cad.grx 入门,手动配置编译环境
安装vs2010+sp1补丁;
安装浩辰2018(64位版本);
下载浩辰Grx开发的SDK,注意对应版本年份., 解压到E盘目录下, E:\grxsdk
在他们的官方用户群下载,搜sdk, 找到grxsdk2018版本1月.zip....未来可能在官网会提供这些东西的下载方式?
浩辰的sdk压缩包的名字有点乱七八糟的,下载之后记得检查里面他txt...

说实话,他们的开发文档可能自己都没有试过...
或者太乱七八糟了,在移植的那本写了的内容,在mfc的写了的内容,但是最基础的hello world却是漏写了.....
而且又没有桌子那种 Wizards 不需要手动配置....
所以为了大家,为了我自己....
我决定把这个流程一步步写下去....
正式的来了...
启动vs2010


再右击项目,点添加-新建项


添加一个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
他们文档里写了这个地方,但是我发现会自设..所以如果配置有问题,要看看下面的地方
[链接器]
[高级]/[目标计算机]设为(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"\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了.

MFC篇
他们写教程居然写得那么隐含....
暂时研究失败.....
待续......
c++篇 cad.grx 入门,手动配置编译环境的更多相关文章
- Cocos2d-x 2.2.3 使用NDK配置编译环境
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...
- sublime text 3 快捷键大全以及配置编译环境
Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...
- sublime text 3 快捷键大全以及配置编译环境(转)
Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期 坚持使用并熟悉这些常用的快捷 ...
- Hibernate3.3.2 手动配置annotation环境
简单记录Hibernate3.3.2如何快速配置环境 一.下载hibernate-distribution-3.3.2.GA-dist.zip文件,建立User libraries. 打开window ...
- eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创
IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示.重构.J2EE支持.各类版本工具(如git.svn.github).maven等方面都有很好的应用. IntelliJ IDEA有免 ...
- 看了就会的VScode给C++的配置编译环境(Visual Studio Code)
我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定可以的. 1.下载 VS Co ...
- Ubuntu环境下手动配置Java环境
/×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...
- Python unittest第一篇:基础入门+命令行编译
unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...
- 工控随笔_C#连接PLC_之_C#入门_01_配置学习环境
最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通 ...
随机推荐
- 获取PostgreSQL数据库中得JSON值
在PostgreSQL数据库中有一列为JSON,要获取JSON中得数据可以用下面sql: select orderno as OrderNo ,amount as Amount ,ordertime ...
- Asp.net MVC企业级开发(04)---SignalR消息推送
Asp.net SignalR是微软为实现实时通信而开发的一个类库.可以适用于以下场景: 聊天室,如在线客服系统,IM系统等 股票价格实时更新 消息的推送服务 游戏中人物位置的实时推送 SignalR ...
- 25个特殊操作符(special operator)
1. CLHS (Common-Lisp-Hyper-Spec) http://www.lispworks.com/documentation/HyperSpec/Body/03_ababa.htm ...
- 实测搭建jenkins多环境、多分支demo
一.环境以及工具信息 1. 3台服务器信息 jenkins: 192.168.123.163.serverA:192.168.123.130.serverB :139.198.17.241三台机器都是 ...
- Python数据分析工具:Pandas之Series
Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...
- canvas与svg整理与区别
1.canvas画布(位图) 2.绘制矢量图 1.不要在style中给canvas设置宽高 会有位移差 2. //获取元素 var c=document.getElementById("c& ...
- 2 Linux磁盘管理
Linux磁盘管理:磁盘管理好坏直接关系到整个系统的性能问题常用三个命令:df.du.fdiskdf:列出文件系统的整体磁盘使用量 df 参数 目录或文件名 -a:理出所有文件系统,包括系统特有的 / ...
- 简要分析一下java中线程的生命周期
面试题:您了解线程吗?简单叙述一下线程的生命周期? 答:之前学过一些有关于线程方面的知识,并且在编写代码的过程中还是要经常考虑线程,所以,我对线程还是了解一点的. 首先,创建一个线程,线程进入初始状态 ...
- OpenSSL生成私钥和公钥
1.生成私钥 -- 生成 RSA 私钥(传统格式的) openssl genrsa -out rsa_private_key.pem 1024 -- 将传统格式的私钥转换成 PKCS#8 格式的(JA ...
- Prometheus(一):Prometheus+Grafana 安装配置
一.基础环境 系统 IP 监控主机 CentOS 7 192.168.56.200 被监控主机 CentOS 7 192.168.56.201 二.Prometheus服务端安装 以下操作皆在监控主机 ...