几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】连接错误 望高手指点 (http://www.dimcax.com/hust/showthread.php?t=8312)

yang686526 2009-04-18 10:53 PM

【转帖】连接错误 望高手指点
 
连接错误 望高手指点
连接错误 望高手指点
我欲做一个读取图元坐标点的程序,如下
#pragma once
#include "dbmain.h"
class ctuyuan : public acdbentity
{
public:
ctuyuan(void);
public:
~ctuyuan(void);
public:
static double ptx;
public:
static double pty;
public:
static void selent(ads_point pt1,ads_point pt2); //框选pt1,pt2 范围内的图元
};
double ctuyuan::ptx=0.00; //初始化静态变量
double ctuyuan::pty=0.00; //初始化静态变量
void ctuyuan::selent(ads_point pt1, ads_point pt2)
{
resbuf * rbent;
ads_name ssname;
if(acedssget(_t("c"),pt1,pt2,null,ssname)==rtnorm)
{
rbent=acdbentget(ssname);
ptx = rbent->resval.rpoint[0] ; //读取图元的x坐标
pty = rbent->resval.rpoint[1] ; //读取图元的y坐标
}
}
编译过了 但调试的时候出现如下错误 望高手指点
1>------ 已启动生成: 项目: check, 配置: debug win32 ------
1>正在链接...
1>tuyuan.obj : error lnk5: "public: static double ctuyuan::ptx" (?ptx@ctuyuan@@2na) 已经在 chkdlg.obj 中定义
1>tuyuan.obj : error lnk5: "public: static double ctuyuan::pty" (?pty@ctuyuan@@2na) 已经在 chkdlg.obj 中定义
1> 正在创建库 d:\arx学习\check\win32\debug/check.lib 和对象 d:\arx学习\check\win32\debug/check.exp
1>chkdlg.obj : error lnk1: 无法解析的外部符号 "public: virtual int __thiscall caduibasedialog::oninitdialog(void)" (?oninitdialog@caduibasedialog@@uaehxz)
1>d:\arx学习\check\win32\debug/check.arx : fatal error lnk1120: 1 个无法解析的外部命令
1>生成日志保存在“file://d:\arx学习\check\check\win32\debug\buildlog.htm”
1>check - 4 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
望大家帮忙分析一下
我经常出现这个问题
大概是你在其他的地方
引用了
它的头文件
d:\arx学习\check\win32\debug/check.arx : fatal error lnk1120: 1 个无法解析的外部命令
这个又是什么原因呢?
试下不用中文目录
不确定 建议一下
d:\arx学习\check\win32\debug/check.arx : fatal error lnk1120: 1 个无法解析的外部命令
这个又是什么原因呢?
你把前三个都解决了,这个致使错误也迎刃而解了!
[ 本帖最后由 hi_tek 于 8-9-11 10:36 am 编辑 ]
你把前三个都解决了,这个致使错误也迎刃而解了!
[ 本帖最后由 hi_tek 于 8-9-11 10:42 am 编辑 ]
“1>tuyuan.obj : error lnk5: "public: static double ctuyuan::pty" (?pty@ctuyuan@@2na) 已经在 chkdlg.obj 中定义”
应该是在不同的文件中重定义了!
[ 本帖最后由 hi_tek 于 8-9-11 10:42 am 编辑 ]
“1>chkdlg.obj : error lnk1: 无法解析的外部符号 "public: virtual int __thiscall caduibasedialog::oninitdialog(void)" (?oninitdialog@caduibasedialog@@uaehxz) ”
应该是没定义的函数在别的函数中引用忘记更改了!
[ 本帖最后由 hi_tek 于 8-9-11 10:44 am 编辑 ]
放在ctuyuan::ctuyuan(void)中初始化
ctuyuan::ctuyuan(void)
{
ptx=0.00;
pty=0.00;
}


所有的时间均为北京时间。 现在的时间是 05:37 AM.