Имеется набор всевозможных статических функций (
ссылка).
В нём мне необходима функция
static CAAEllipticalObjectDetails Calculate(double JD, const CAAEllipticalObjectElements& elements, bool bHighPrecision);
Я пишу обёртку для данного набора функций, чтобы использовать их в библиотеке, чтобы потом использовать их в Delphi.
Решил делать "дёшево и сердито" (с помощью так называемого flattering-метода -
ссылка).
Проблема возникает в строчке с вызовом вышеупомянутой функции
CAAEllipticalObjectDetails ResTemp;
ResTemp = CAAElliptical::Calculate(JD, CAAObjectElem, bHighPrecision);
Текст ошибки:
AA.obj : error LNK2019: unresolved external symbol "public: static class CAAEllipticalObjectDetails __cdecl CAAElliptical::Calculate(double,class CAAEllipticalObjectElements const &,bool)" (?Calculate@CAAElliptical@@SA?AVCAAEllipticalObjectDetails@@NABVCAAEllipticalObjectElements@@_N@Z) referenced in function _EllipticalCalculate@72
У меня есть подозрения на:
1) __cdecl
2) то, что как то неправильно обращаюсь к методу
3) чего-то не до-объявил
Изучаю C++ недавно, создаю библиотеку по причине того, что основная программа написана на Delphi и переписывать её нет желания и времени, а используемые функции состоят из ещё большего кода и переписывать выборочно тоже нет желания. Есть желание понять работу с dll.
Спасибо за ответы.
UPD: И в правду, забыл упомянуть, что этот набор функций подключается к проекту с помощью include основного заголовочного файла (
полный текст AA.cpp, вызывающего его).
Подключение
#include "aaplus\AA+.h"
При этом ни сам заголовок, ни файл с методом к проекту не подключены. Если я правильно понимаю уточнения
kloppspb и
Станислав Макаров, то мне надо исправить этот момент.