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厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通 ...
随机推荐
- 用友U9 基础使用文件所在目录
元数据存主位置 D:\yonyou\UBFV50\U9.VOB.Product.Metadata 日志文件位置 D:\yonyou\U9V50\Portal\log UI热插支持文件 D:\yonyo ...
- laravel 框架配置404等异常页面的方法详解(代码示例)
本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Laravel中所有的异常都由Handl ...
- MYSQL性能测试工具SYSBENCH
[root@localhost ~]$ wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0. ...
- Odoo field字段标签属性详解
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826356.html 标签属性 1) name:标识字段名称 2)string:标签文本,如果我们想要覆盖 ...
- 工作不久的安卓开发者,他们是这样规划自己的Android学习路线
Android开发工作者工作不久的时候,会有一段迷茫期,觉得自己应该再学一点,却不知道从何学起,该怎样规划自己的学习路线呢?今天,我给大家梳理一下Android基础,就像建造房屋一样,要建造一座宏伟的 ...
- python基本数据类型的时间复杂度
1.list 内部实现是数组 2.dict 内部实现是hash函数+哈希桶.一个好的hash函数使到哈希桶中的值只有一个,若多个key hash到了同一个哈希桶中,称之为哈希冲突. 3.set 内部实 ...
- CEF3相关知识汇总(不断更新)
CEF全称是Chromium Embedded Framework,它是Chromium的Content API的封装库. CEF官网地址:https://bitbucket.org/chromium ...
- 08-cmake语法-set()
CMake的基本数据类型是字符串,一组字符串在一起称为列表(list) 用于设置变量. set(VAR a b c) # 输出 VAR = a;b;c VAR 就是一个list 参考: https:/ ...
- IDEA控制台输出中文乱码问题
IntelliJ IDEA 真的是一款很方便的Java开发工具,但是关于中文乱码这个问题我不得不吐槽,这个编码也弄得这么麻烦干嘛,真想找idea开发者干架,我敢打包票我能在一分钟之内一拳飞过去让他跪下 ...
- mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件
数据库的配置 # 通过配置文件统一配置的目的: 统一管理 服务端(mysqld) 客户端(client) 配置了mysqld(服务端)的编码为utf8, 那么再创建的数据库,默认编码都采用utf8. ...