Тема: ObjectDBX

В ObjectDBX проекте, созданным визардом, создал класс унаследованный от AcDbLine.
В перегруженном методе subGetOsnapPoints мне нужно получить координаты мыши в чертеже. Нашёл тут на форуме метод:
BOOL TransScreenCoordinatesToAcGePoint3d(CPoint point, AcGePoint3d &pt3d)
{
    CView *pView = acedGetAcadDwgView();
    if(!pView)return FALSE;
    int windnum = acedGetWinNum(point.x,point.y);
    CRect r;
    pView->GetClientRect(&r);   
    pView->ClientToScreen(&r);   
    acedDwgPoint ptOut;
    AcGePoint3d p3d;
    point.x -=r.left;
    point.y -=r.top;
    BOOL res = acedCoordFromPixelToWorld(windnum,point,ptOut);
    if (res)
        p3d = AcGePoint3d(ptOut[0],ptOut[1],ptOut[2]);
    return res;
}
При компиляции линковщик ругается:

Error    1    error LNK2019: unresolved external symbol "class CView * __cdecl acedGetAcadDwgView(void)" (?acedGetAcadDwgView@@YAPAVCView@@XZ) referenced in function "protected: virtual enum Acad::ErrorStatus __thiscall CMyLine::subGetOsnapPoints(enum AcDb::OsnapMode,int,class AcGePoint3d const &,class AcGePoint3d const &,class AcGeMatrix3d const &,class AcArray<class AcGePoint3d,class AcArrayMemCopyReallocator<class AcGePoint3d> > &,class AcArray<int,class AcArrayMemCopyReallocator<int> > &,class AcGeMatrix3d const &)" (?subGetOsnapPoints@CMyLine@@MAE?AW4ErrorStatus@Acad@@W4OsnapMode@AcDb@@HABVAcGePoint3d@@1ABVAcGeMatrix3d@@AAV?$AcArray@VAcGePoint3d@@V?$AcArrayMemCopyReallocator@VAcGePoint3d@@@@@@AAV?$AcArray@HV?$AcArrayMemCopyReallocator@H@@@@2@Z)    MyLine.obj    ArxLineDBX
Error    2    error LNK2019: unresolved external symbol "int __cdecl acedCoordFromPixelToWorld(int,class CPoint,double * const)" (?acedCoordFromPixelToWorld@@YAHHVCPoint@@QAN@Z) referenced in function "int __cdecl TransScreenCoordinatesToAcGePoint3d(class CPoint,class AcGePoint3d &)" (?TransScreenCoordinatesToAcGePoint3d@@YAHVCPoint@@AAVAcGePoint3d@@@Z)    MyLine.obj    ArxLineDBX
Error    3    error LNK2019: unresolved external symbol "int __cdecl acedGetWinNum(int,int)" (?acedGetWinNum@@YAHHH@Z) referenced in function "int __cdecl TransScreenCoordinatesToAcGePoint3d(class CPoint,class AcGePoint3d &)" (?TransScreenCoordinatesToAcGePoint3d@@YAHVCPoint@@AAVAcGePoint3d@@@Z)    MyLine.obj    ArxLineDBX
Error    4    fatal error LNK1120: 3 unresolved externals    E:\Work\Project\ObjectARX\ArxLine\Win32\Debug/ArxLineDBX.dbx    ArxLineDBX

Если этот метод использовать ObjectARX проекте то все нормально компилируется. Как можно получить координаты мыши?

Re: ObjectDBX

Подключи для линкера acad.lib

Re: ObjectDBX

Спасибо! Всё работает!