zdqwy19 发表于 2013-6-28 18:05:00

rb.resval.rstring = sbuf的编译问题,总通不过

我用win8专业版+vs2010sp1+objectarx2014调试下面语句,主要rb.resval.rstring = sbuf这一句怎么也编译不成功,网上也搜不到,放上来让大家帮瞧瞧!
      static void test ()
{
long len; long i=0;
//选择对象
struct resbuf rb;
char sbuf; // 存储字符串的缓冲区
ads_name ssname;
rb.restype = 0; // 实体名
strcpy(sbuf,"CIRCLE");
rb.resval.rstring = sbuf;(就是这一句)
rb.rbnext = NULL; // 不需要设置其他的属性
acedPrompt(ACRX_T("\n选择圆形"));
if(RTNORM == acedSSGet(NULL,NULL, NULL,&rb, ssname))
{
   acedSSLength(ssname,&len);
   //遍历选择集
   //for(i=0; i<len; i++)
   //{
   // /*ads_name ent;
   // acedSSName(ssname, i, ent);
   // AcDbObjectId eId;
   // acdbGetObjectId(eId, ent);*/
   // //其它操作
   // acutPrintf(ACRX_T("\n选择实体="),len);
   //}
   acutPrintf(ACRX_T("\n选择实体="),&len);
   //释放选择集
         acutRelRb(&rb);
   acedSSFree(ssname);
   }
else
{
   acutPrintf(ACRX_T("\n选择实体"));
   return;
}
}
在这一句:rb.resval.rstring = sbuf;始终出错
1.将 项目-〉属性-〉配置属性-〉常规-〉公共语言运行时支持-〉无公共语言运行时支持,生成解决方案时提示:
1>acrxEntryPoint.cpp(74): error C2440: “=”: 无法从“char ”转换为“ACHAR *”
1>          与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>Generating Code...
1>
1>生成失败。
1>
1>已用时间 00:00:06.01
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
2.将 项目-〉属性-〉配置属性-〉常规-〉公共语言运行时支持-〉公共语言运行时支持,生成解决方案时提示:
1>cl : 命令行 error D8016: “/clr”和“/EHs”命令行选项不兼容
1>
1>生成失败。
1>
1>已用时间 00:00:00.15
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

286168051 发表于 2013-6-29 10:48:01

acutBuildList (RTDXF0 _T("CIRCLE"),RTNONE)

wwwliuyu 发表于 2013-6-29 12:05:14

char *sbuf = new char;
页: [1]
查看完整版本: rb.resval.rstring = sbuf的编译问题,总通不过