shun 发表于 2004-10-25 16:40:00

为何出现这样的link错误?

自定义函数如下:


void mypline(AcGePoint3dArray parr)<BR>{ <BR>        int len(0);<BR>        len=parr.length();<BR>        if(len==0)<BR>                return;        <BR>        AcDb2dPolyline *pNew= new AcDb2dPolyline(<BR>                                                                               AcDb::k2dSimplePoly,parr);//,0,Adesk::kFalse,0,0,NULL);<BR>               // pNew-&gt;setColorIndex(7);<BR>                       AcDbBlockTable *pBlock;<BR>                       acdbHostApplicationServices()-&gt;workingDatabase()<BR>                       -&gt;getBlockTable(pBlock,AcDb::kForRead);<BR>                       AcDbBlockTableRecord* pBlockRecord;<BR>                       pBlock-&gt;getAt(ACDB_MODEL_SPACE,pBlockRecord,AcDb::kForWrite);<BR>                       pBlock-&gt;close();<BR>                       AcDbObjectId pobjId;<BR>                       pBlockRecord-&gt;appendAcDbEntity(pobjId,pNew);<BR>                       pBlockRecord-&gt;close();<BR>       //       pNew-&gt;setLayer("VT");<BR>                       pNew-&gt;close();                                       <BR>}


出现如下link error:


error LNK2001: unresolved external symbol "public: void __thiscall CMkxd::mypline(class AcArray&lt;class AcGePoint3d,class AcArrayMemCopyReallocator&lt;class AcGePoint3d&gt; &gt;)" (<A href="mailto:?mypline@CMkxd@@QAEXV?$AcArray@VAcGePoint3d@@V?$AcArrayMemCopyReallo" target="_blank" >?mypline@CMkxd@@QAEXV?$AcArray@VAcGePoint3d@@V?$AcArrayMemCopyReallo</A><BR><A href="mailto:cator@VAcGePoint3d@@@@@@@Z" target="_blank" >cator@VAcGePoint3d@@@@@@@Z</A>)


请知道的朋友帮助!,谢了!!!

王咣生 发表于 2004-10-25 18:56:00

回复

函数本身没有错误:


我用的是VC.NET和AutoCAD2005,用你的函数运行正常:





命令: MyCommand1


检查头文件,附加库是否正确引用!

shun 发表于 2004-10-28 08:09:00

多谢!!!多谢!!!

多谢!!!多谢!!!
页: [1]
查看完整版本: 为何出现这样的link错误?