安装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 代码

  1. #include <arxHeaders.h>
  2. #include <tchar.h>
  3.  
  4. void initApp();
  5. void unloadApp();
  6. void HelloWorld();
  7.  
  8. /// <summary>
  9. /// 加载的时候注册命令
  10. /// </summary>
  11. void initApp()
  12. {
  13. //register a command with the GstarCAD command mechanism
  14. acedRegCmds->addCommand(_T("HELLOWORLD_CMDS"), _T("Hello"), _T("Hello"), ACRX_CMD_TRANSPARENT, HelloWorld);
  15. }
  16.  
  17. /// <summary>
  18. /// 卸载的时候移除命令
  19. /// </summary>
  20. void unloadApp()
  21. {
  22. acedRegCmds->removeGroup(L"HELLOWORLD_CMDS");
  23. }
  24.  
  25. /// <summary>
  26. /// 发送文字到命令栏
  27. /// </summary>
  28. void HelloWorld()
  29. {
  30. acutPrintf(L"\nHello World!");
  31. }
  32.  
  33. // 按着C的规则去翻译相应的函数名而不是C++的
  34. extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg,void *pkt)
  35. {
  36. switch(msg)
  37. {
  38. case AcRx::kInitAppMsg:
  39. acrxDynamicLinker->unlockApplication(pkt);
  40. acrxDynamicLinker->registerAppMDIAware(pkt);
  41. initApp();
  42. break;
  43. case AcRx::kUnloadAppMsg:
  44. unloadApp();
  45. break;
  46. default:
  47. break;
  48. }
  49. return AcRx::kRetOK;
  50. }

加载

记得不要加载错了,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. EF Core 简单使用介绍

    EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可. EF Core 支持多种数据 ...

  2. JS的数组进行切片slice

    代码 var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thoma ...

  3. 线程状态---Day24

    线程状态概述: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态.在线程的生命周期中, 有几种状态呢?在API中 java.lang.Thread.State 这个枚举中 ...

  4. 如何设计提高服务API的安全性(二)API密钥方式详解

    在上文已经讲述了基础介绍,这篇文章详细讲解API密钥方式. 利用何种加密方式呢? 经过上面加密算法的理解,单向加密不仅性能高,而且有压缩性,即长度一致,有效减少网络传输过程中的字节大小.适合我们这种调 ...

  5. uni-app插件ColorUI步骤条

    1. uni-app插件ColorUI步骤条 1.1. 前言 uni-app就不介绍了,前面几篇已经有所介绍,不知道的可以翻看我前面几篇博客 ColorUI-uniApp是uni-app的一款ui组件 ...

  6. SpringBoot配置MongoDB多数剧源

    关闭Mongo的自动化配置 因为项目需要配置MongoDB多数据源. 为了避免Spring boot自动化配置带来的影响,因此通过注解屏蔽MongoDB的自动化配置. @SpringBootAppli ...

  7. elasticsearch安装中文分词器插件smartcn

    原文:http://blog.java1234.com/blog/articles/373.html elasticsearch安装中文分词器插件smartcn elasticsearch默认分词器比 ...

  8. 08-人脸识别-FaceNet-classify.py代码阅读(说明见注释)

    """An example of how to use your own dataset to train a classifier that recognizes pe ...

  9. meta设置与去除默认样式--移动端开发整理笔记(一)

    视口设置: <meta name="viewport" content="width=device-width,user-scalable=no,initial-s ...

  10. Django API 自定义状态码

    class BaseResponse(object): def __init__(self): self.code = 1000 self.data = None self.error = None ...