问个问题,最近在搞CAD的二次开发,用VC++6.0,在里面建了两个工程,其中工程1调用了工程2类下的一个函数
编译连接之后报错:unresolvedexternalsymbol"public:staticclassAcDbObjectId__cdeclCCreateEntity:...
编译连接之后报错:unresolved external symbol "public: static class AcDbObjectId __cdecl CCreateEntity::CreateLine(void)" (?CreateLine@CCreateEntity@@SA?AVAcDbObjectId@@XZ)
FullDebug/wang测试.arx : fatal error LNK1120: 1 unresolved externals
这是工程1引用的代码其中的一部分:
AcGePoint3d ptStart(0,0,0);
AcGePoint3d ptEnd(100,0,0);
CCreateEntity::CreateLine();
其中,CCreateEntity类是工程2创建的
这是我的头文件:
#include "StdAfx.h"
#include "StdArx.h"
#include "acdb.h"
#include "../cad二次开发基础文件/CreateEntity.h"
我用的工具包是objectarx2002,本来想就简简单单的弄个例子看看跨工程引用能用不,结果调试了一个下午也没成功,求高手大侠指点下子~ 展开
FullDebug/wang测试.arx : fatal error LNK1120: 1 unresolved externals
这是工程1引用的代码其中的一部分:
AcGePoint3d ptStart(0,0,0);
AcGePoint3d ptEnd(100,0,0);
CCreateEntity::CreateLine();
其中,CCreateEntity类是工程2创建的
这是我的头文件:
#include "StdAfx.h"
#include "StdArx.h"
#include "acdb.h"
#include "../cad二次开发基础文件/CreateEntity.h"
我用的工具包是objectarx2002,本来想就简简单单的弄个例子看看跨工程引用能用不,结果调试了一个下午也没成功,求高手大侠指点下子~ 展开
3个回答
展开全部
缺少lib库的链接,在项目的link配置中添加包含CCreateEntity这个导出类的lib库链接。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
和VC6 没有关系, 我想是你CCreateEntity这个类没有导出吧? 还有一种可能是CCreateEntity的cpp文件没有加到工程中没参与编译导致连接不过.
追问
请教一下:你说的类没有导出指的是什么?CCreateEntity的cpp文件在工程1中是有的,还需要加到哪里啊?
追答
导出是指dll之间共享C++类,请参考__declspec(dllexport)方面的知识。
如果有的话,2就不是问题了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |