安装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 入门,手动配置编译环境的更多相关文章

  1. Cocos2d-x 2.2.3 使用NDK配置编译环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...

  2. sublime text 3 快捷键大全以及配置编译环境

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...

  3. sublime text 3 快捷键大全以及配置编译环境(转)

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期 坚持使用并熟悉这些常用的快捷 ...

  4. Hibernate3.3.2 手动配置annotation环境

    简单记录Hibernate3.3.2如何快速配置环境 一.下载hibernate-distribution-3.3.2.GA-dist.zip文件,建立User libraries. 打开window ...

  5. eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创

    IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示.重构.J2EE支持.各类版本工具(如git.svn.github).maven等方面都有很好的应用. IntelliJ IDEA有免 ...

  6. 看了就会的VScode给C++的配置编译环境(Visual Studio Code)

    我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定可以的. 1.下载 VS Co ...

  7. Ubuntu环境下手动配置Java环境

    /×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...

  8. Python unittest第一篇:基础入门+命令行编译

    unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...

  9. 工控随笔_C#连接PLC_之_C#入门_01_配置学习环境

    最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通 ...

随机推荐

  1. 设置环境变量遇到的难题,cmd管理员方式与普通方式的区别,通过C#代码设置环境变量

    在使用mingw64的过程中,需要手工添加环境变量,作为一个懒人,这怎么可以呢?于是想用命令的方式实现,结果遇到问题了,死活实现不了, 之前用过TDM-GCC,人家的安装完就可以用,还有试用过rust ...

  2. 线程之间灵活传递信号(ManualResetEventSlim )

    当主程序启动时,首先创建ManualResetEventSlim 类的一个实例.然后启动三个线程,等待事件信号通知它们继续执行. /// <summary> /// 创建 ManualRe ...

  3. Java内功心法,行为型设计模式

    行为型 1. 责任链(Chain Of Responsibility) Intent 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系. 将这些对象连成一条链,并沿着这条链发送该 ...

  4. pom.xml管理jar包——安全性框架配置文件

    <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...

  5. 常用的python内置模块

    1.time模块: time模块是普通的时间模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2. ...

  6. Gin-Go学习笔记七:Gin-Web框架 布局页面

    模板使用 页面布局 1>     一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2> ...

  7. 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题

    springboot集成腾讯云短信服务: (1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  8. Elasticsearch高版本安装head插件

    安装Elasticsearch 1.安装Elasticsearch-6.5.4.tar.gz [merce@info5 ~]$ cd /appmerce/zrapp/ [merce@info5 zra ...

  9. 《linux就该这么学》课堂笔记20 LNMP架构部署动态网站环境

    源码包安装程序 使用源码包来安装服务程序具有两个优势. 源码包的可移植性非常好,几乎可以在任何Linux系统中安装使用,而RPM软件包是针对特定系统和架构编写的指令集,必须严格地符合执行环境才能顺利安 ...

  10. 《linux就该这么学》课堂笔记13 网络会话、ssh、远程会话

    1.常见的网卡绑定驱动有三种模式—mode0.mode1和mode6 mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术. ...