Страница 1 из 1

Ошибки при сборке САА С++

СообщениеДобавлено: 23 июл 2012 11:49
rash
Народ,
Пробую написать простой класс на CAA C++ по прмерам из энциклопедии. На первых же шагах столкнулся с проблемой при линковке.
Был топик с похожим вопросом http://www.plm-forum.ru/forum/viewtopic.php?f=140&t=1183
НО решение не помогло и мой класс еще проще.
Что делаю:
  • Создаю класс с помощью IDE RADE который наследуется от CATStateCommand
    class MyCls: public CATStateCommand
  • Удаляю:
    переопределение конструктора MyCls (MyCls &)
    переопределение оператора MyCls& operator=(MyCls&)
    Так как компилятор ругается так: error C2248: 'CATDialogAgent::operator =' : cannot access private member declared in class 'CATDialogAgent'
  • Запускаю Build mkmk получаю ошибку при сборке dll: MyCls.obj : error LNK2001: unresolved external symbol "public: virtual class CATCallbackManager * __thiscall CATCommand::GetCallbackManager(void)" (?GetCallbackManager@CATCommand@@UAEPAVCATCallbackManager@@XZ) и еще несколько таких же ошибок на другие классы

В документаци сказано, что при наследовании CATStateCommand нужно подключить CATStateCommand.h и модуль CATDialogEngine,
что IDE впринципе сделал сам:

В Imakefile.mk
WIZARD_LINK_MODULES = JS0GROUP \
CATDialogEngine


В IdentityCard.h
ddPrereqComponent("System",Public);
AddPrereqComponent("DialogEngine",Public);


Пока писал, разобрался :-D , что нужно подключить JS0FM.

Вопрос: 1. Почему IDE сам не подключил этотмодуль? ...как понимаю это стандартный модуль который должен подключаться каждый раз (ну или при наследовании CATStateCommand), или не так?
2. Как быть,чтобы избежать подобных ситуаций (когда в доках не полная информация по САА)?
3. Что можно почитать по архитектуре Катьки для программирования (доп. лит-ра или какие разделы энциклопедии), чтобы разобраться в зависимостях модулей?

Re: Ошибки при сборке САА С++

СообщениеДобавлено: 23 июл 2012 12:29
bit
В "CAA V5 help viewer" внизу каждой станицы есть строка типа:
If needed, your Imakefile.mk should include the module: JS0FM

IDE сам много чего не подкдючает, раньше он даже не подключал JSOGROUP :-)

Re: Ошибки при сборке САА С++

СообщениеДобавлено: 23 июл 2012 13:30
rash
Спасибо bit за ответ

В "CAA V5 help viewer" внизу каждой станицы есть строка типа:
If needed, your Imakefile.mk should include the module: JS0FM


Конечно же смотрю в справке, что необходимо подключить для пользования того или иного.
Только я испольовал всего один класс для наследования и в справке было написано подключить только его заголовочный файл CATStateCommand.h и модуль CATDialogEngine и ничего про JS0FM