Тема: Ошибки при компиляции примера из ObjectARX 2010 Training

Здравствуйте!

Подскажите, почему не получается.

Создал проект как сказано в ObjectARX 2010 Training, а при компиляции вываливаются ошибки:
- error LNK2019: unresolved external symbol "public: static class AcRxClass * __cdecl AcEdCommandStack::desc(void)" (?desc@AcEdCommandStack@@SAPAVAcRxClass@@XZ) referenced in function "public: static class AcEdCommandStack * __cdecl AcEdCommandStack::cast(class AcRxObject const *)" (?cast@AcEdCommandStack@@SAPAV1@PBVAcRxObject@@@Z)    HelloWorld.obj    Step01
- fatal error LNK1120: 1 unresolved externals    D:\ACAD_apps\C++\Step01\Debug\ArxProject.arx    1    Step01

Использую:
- AutoCAD 2010
- Visual Studio 2008 professional edition
- установлен Visual Studio 2008 Service Pack 1

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Надеюсь, что и ObjectARX SDK версии 2010?
Проверь что в опциях линкера указана библиотека acedapi.lib

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Александр Ривилис пишет:

Надеюсь, что и ObjectARX SDK версии 2010?

Да, ObjectARX SDK версии 2010.

Александр Ривилис пишет:

Проверь что в опциях линкера указана библиотека acedapi.lib

Все скомпилировалось. Почему же в примере не указали использование этой библиотеки?

При загрузке в AutoCAD приложения, в командной строке было сообщение:
"Предупреждение: D:\ACAD_apps\C++\Step01\Debug\ArxProject.arx выделяет память из
MSVCR90D.DLL, однако AutoCAD использует память из MSVCR90.DLL.
Это может вызвать затруднения.ArxProject.arx успешно загружено."

К чему это?

После ввода команды, приложение отработало нормально.

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Shraybicus пишет:

При загрузке в AutoCAD приложения, в командной строке было сообщение: "Предупреждение: D:\ACAD_apps\C++\Step01\Debug\ArxProject.arx выделяет память из MSVCR90D.DLL, однако AutoCAD использует память из MSVCR90.DLL. Это может вызвать затруднения.ArxProject.arx успешно загружено."

Это к тому, что ты компилировал Debug. Соответственно у тебя это приложение загрузилось и работает (хотя тоже возможны нюансы с выделением памяти и т.д.), а если будешь передавать его кому-то, у кого не установлен VS 2008 SP1 - запускаться не будет.

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Александр Ривилис пишет:

Это к тому, что ты компилировал Debug.

Что это значит?

Читая дальше "ObjectARX 2010 Training" я смогу в дальнейшем избежать подобного?

(изменено: Николай, 11 апреля 2012г. 17:43:34)

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Что это значит?

я думаю начать нада просто с языка С++. А начинать кодить под автокад только если подобные вопросы возникать не будут

PS: достаточно сложно одновременно учить основы языка и свободно на нем общаться

Re: Ошибки при компиляции примера из ObjectARX 2010 Training

Shraybicus пишет:

Что это значит?

Это не то место, где следует изучать азы VC++. Речь идет о конфигурации (Configuration) Release или Debug.
Если будешь пользоваться ObjectARX Wizard, то проблем возникнуть не должно.