http://lysygyy.blog.163.com/blog/static/17657700520122209437713/

1. 使用了新的编译器,使编译文件更小了。

2. 部分函数签名和类的结构有所改变,比较显著的改变就是一些继承于 AcDbObject 和 AcDbEntity 的类的成员函数。好处就是类的结构清晰统一了。但也招来麻烦,所有的 Custom Object 和Coustom Entity 中用到worldDraw()  的编译时都会有这样的错误:

error C3248: 'AcGiDrawable::worldDraw': function declared as 'sealed' cannot be overridden by 'YourClass::worldDraw'

解决方案:用

protected virtual subFoo(…)

代替

public virtual foo(…)

重写基类的方法。如:subWorldDraw(…) 代替 worldDraw(…)

3. CUI and UI Update:Ribbon 和 AppMenu 有所改变。

4. Installer update:

AutoCAD 2007 = R17.0

AutoCAD 2008 = R17.1

AutoCAD 2009 = R17.2

AutoCAD 2010 = R18.0

5.fatal error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting

产生这个错误的原因是原因是_WIN32_WINNT的版本定义太老,老的VC代码对_WIN32_WINNT的典型设置是:

#ifndef _WIN32_WINNT

#define _WIN32_WINNT 0x0400

#endif

0x0400相对于VS2008所带的Plarform SDK(在文件sdkddkver.h中)中_WIN32_IE的定义来说太老了,导致不兼容,可以将其改成0x0501或更高的版本避免这个问题,如下所示:

#ifndef _WIN32_WINNT

#define _WIN32_WINNT 0x0501

#endif

也可以将这三行_WIN32_WINNT定义删除,这样就会使用Plarform SDK中的_WIN32_WINNT定义,自然就不存在不兼容问题了。不过出于对老版本VC的兼容考虑(毕竟以后可能还要使用VC6编译代码),最好这样修改:

#if _MSC_VER <= 1400 // MFC 8.0 or earlier

#ifndef _WIN32_WINNT

#define _WIN32_WINNT 0x0400

#endif

#endif

6. VS2008下,objectarx2010的图标问题(不显示)
这个问题在ArxWizardHelp.chm中的"Known Issues"中的后半部分"Wizards toolbar buttons not showing icons"有解决办法(建议直接看E文)

1)首先找到安装objectarx wizards(向导)的安装目录

一般情况下默认安装在 " c:\Program\Autodesk\ObjectARX Wizards for AutoCAD 20xx "路径下



2)在该目录下就有一个ArxWizardHelp.chm文件

【原文】

Wizards toolbar buttons not showing icons.(向导工具栏按钮不显示图标)



The Visual Studio toolbar button icons subsystem does not support Neutral Language Satelitte resources. When a resource language satelitte dll is missing the icons does not show up even if the AddIn is working.To solve the issue, you can either switch your OS locale to English (or one of the language coming with the Wizards [de/en/es/fr/it/ja/nl/ru/sv]), or build the resource for your locale.



加粗部分提出了解决办法:

1)切换系统locale(英语english或者objectarx wizards向导工具支持的语言[de/en/es/fr/it/ja/nl/ru/sv],具体的代码对应哪种语言locale,可以上网搜搜)
2)自己编译资源dll(
推荐,自己编译比较保险,一般不会出什么岔子



【编译方法】

To do this, execute the following command, assuming xx is your language code:

1)首先打开vs自带的命令提示符(在"开始菜单"中打开)

2)开始编译

假设objectarx wizards安装在目录" c:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 20xx"

a)使用cd命令进入到objectarx wizards安装目录下的子文件夹ArxAddInWiz中

cd "c:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 20xx\ArxAddInWiz"



b)创建目录zh-chs

mkdir zh-chs



c)将英文locale(en)中的文件中的所有.xml文件拷贝到zh-chs目录中

copy en\*.xml zh-chs



d)使用vs自带的命令工具Al.exe编译资源dll

Al.exe /embed:resx\Icons.resources /c:zh-chs /out:zh-chs\ArxAddInWiz.resources.dll



注意:是小写的L,不是大写的i,要是怕出错,可以全部大写AL.exe

AL.exe/embed:resx\Icons.resources /c:zh-chs /out:zh-chs\ArxAddInWiz.resources.dll 7. error LNK2019: 无法解析的外部符号 "void __cdecl RxTrace(wchar_t const *,...)" (?RxTrace@@YAXPB_WZZ),该符号在函数 "void __cdecl SKHYCheckEntOutOfBound(void)" (?SKHYCheckEntOutOfBound@@YAXXZ) 中被引用

1>../bin2010/HYCheckCmdReg_JL.arx : fatal error LNK1120: 1 个无法解析的外部命令

解决方法:将RxTrace方法写在Debug宏之前,并去掉inline限制。
8.AcAdDoubleClickEdit 在 arx2010 中 变到哪里了?

Solution

The AcDbDoubleClickEdit functionality that was exposed in AcDblClkEditPE.arx is now rolled up in AcApp.arx and acad.lib.

For AutoCAD 2010 to make double click extension protocol to work.…

1. Remove any loadModule() calls to AcDblClkEditPE.arx

2. Remove any calls to AcDbDoubleClickEdit::rxinit() as this is now done automatically for us.

3. Include the AcDblClkEdit.h

4. Add ACRX_DEFINE_MEMBERS(AcDbDoubleClickEdit); in one of your .cpp modules

AutoCAD 2010 开发与之前版本的区别相关推荐

  1. Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用

    AutoCAD 2012系列产品很快就要正式发布了,对于.net 开发者来说,VS2010无疑是最好用的工具,所以也有好多人在VS2010和AutoCAD 2012 beta版上做开发测试.你在开发时 ...

  2. AutoCAD .NET开发1:环境搭建

    AutoCAD,CAD(Computer Aided Design)计算机辅助设计,是计算机技术的一个重要的应用领域.AutoCAD是美国Autodesk公司开发的交互式绘图软件.其具有强大的功能,其 ...

  3. AutoCAD 2010教程

              AutoCAD 功能与特性 AutoCAD 2010软件为从事各种造型设计的客户提供了强大的功能和灵活性,可以帮助他们更好地完成设计和文档编制工作. 借助世界领先的二维和三维设计软 ...

  4. mysql版本 时间_【MySQL】MySQL版本时间线和MySQL各版本的区别

    MySQL各版本的区别 https://yq.aliyun.com/articles/607474 http://blog.sina.com.cn/s/blog_62b37bfe0101he5t.ht ...

  5. 台湾积体电路制造公司(简称为台积电(TSMC))的28nm LP、HPM、HPC、HPC+四种不同处理器工艺版本的区别?

    台湾积体电路制造公司(简称为台积电(TSMC))的28nm LP.HPM.HPC.HPC+四种不同处理器工艺版本的区别? 说起处理器工艺,相信大家都多多少少知道一些,可同样的一种工艺,也会有很多不同版 ...

  6. MSDN、RTM、OEM、VOL四大版本之区别

    MSDN.RTM.OEM.VOL四大版本之区别 MSDN版: MSDN的英文全称为:Microsoft Developer Network(微软开发者网络).MSDN软件是微软公司面向微软软件开发者的 ...

  7. 了解 SharePoint 2010 开发中的关键点

    **摘要:**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点. 上次修改时间: 2012年3月13日 适用范围: Business Connect ...

  8. eclipse各个版本的区别

    Eclipse IDE for Java Developers 是为java开发的 Eclipse IDE for Java EE Developers 是为J2EE开发的 Eclipse for R ...

  9. 火狐开发版_Firefox普通版和开发版之间有什么区别?

    火狐开发版 Mozilla recently released a new Developer Edition for web developers to use, but how much diff ...

最新文章

  1. 【Linux】10.安装和开启ftp服务
  2. Hejr 6-8 - aamsaafanqs Blog - Blogster
  3. 对‘example_app_new’未定义的引用
  4. Java中部分常见语法糖
  5. java用swing日历标记节日_如何用JavaSwing作一个日历控制程序?
  6. Vue 开发环境搭建步骤
  7. 人生何尝不是一盘“大富翁”呢
  8. 在不同位置(客户端的终端设备,服务端,项目代码中)判断设备类型(PC、手机、微信等)
  9. Android 从服务器获取信息 并显示 (包含服务器端代码)
  10. 2021年中国VR/AR行业市场投融资现状分析:VR/AR技术领域融资实现双增长[图]
  11. DCD、DTR、DSR、RTS及CTS等五个状态指示分别代表什么意思?
  12. 电脑遇到黑屏问题第一时间怎么解决
  13. PHP简单实现MVC框架路由功能模式
  14. PHP+Mysql—留言管理系统网站(前端+后端、整套源码)
  15. 计算机专业去支教学到什么,支教的收获及感悟4篇_大学生支教感想
  16. 揭秘全球首个火星车数字人背后的百度数字人技术
  17. 数字可视化大屏边框制作
  18. 2021-08-29 网安实验-Linux系统渗透测试之Metasploit攻击linux实例
  19. Python学习之-分支语句
  20. [电路]17-最大功率传输定理

热门文章

  1. Linux系统第一次学习通作业总结
  2. 饥荒怎么把离线服务器改成在线,饥荒离线模式更改 | 手游网游页游攻略大全
  3. 利用一维数组打印杨辉三角
  4. android游戏和ios游戏哪个多,安卓手游与苹果手游哪个土豪多,为什么
  5. 快手抖音如何快速涨粉丝的途径
  6. q版角色大集合带动画
  7. 量子保密通信应用与技术探讨
  8. 本周搜索学习心得及比赛总结
  9. 树莓派摄像头拍照上传阿里云自定义OCR识别
  10. 提高页面的加载速度的方法——精灵图和字体图标