ObjectARX

Автор Тема: ObjectARX  (Прочитано 18497 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
ObjectARX
« : 24-03-2016, 21:19:36 »
Вопрос рыцарям ObjectARX.

Проблема с началом работы с ARX.

Скачал ObjectARX 2015.
Вызываю Visual Studio 12.
Беру тестовый пример coordsys.
Построение.


1>------ Построение начато: проект: coordsys, Конфигурация: Debug Win32 ------
1>  coordsys.cpp
1>     Создается библиотека Debug\coordsys.lib и объект Debug\coordsys.exp
1>rxapi.lib(libinit.obj) : warning LNK4099: "rxapi_cl.pdb" PDB не найден с "rxapi.lib(libinit.obj)" или на "C:\ObjectARX 2015\samples\graphics\coordsys_dg\Debug\rxapi_cl.pdb"; компоновка объекта выполняется как при отсутствии отладочных данных
1>  coordsys.vcxproj -> C:\ObjectARX 2015\samples\graphics\coordsys_dg\Debug\coordsys.arx
========== Построение: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========

подозрительно  "rxapi_cl.pdb" PDB не найден".


Вызываю AutoCAD 2015.
Command: _appload
coordsys.arx is incompatible with this version of AutoCAD.
AcRxDynamicLinker failed to load 'c:\objectarx 2015\samples\graphics\coordsys_dg\debug\coordsys.arx'
C:\Program Files\Autodesk\AutoCAD 2015\acad.exeUnable to load coordsys.arx file.

Почему   " is incompatible with this version of AutoCAD" ?

Пробую
Command: ARX
Enter an option [Files/Groups/Commands/CLasses/Services/Load/Unload]: L
coordsys.arx is incompatible with this version of AutoCAD.
AcRxDynamicLinker failed to load 'c:\objectarx 2015\samples\graphics\coordsys_dg\debug\coordsys.arx'
C:\Program Files\Autodesk\AutoCAD 2015\acad.exe

Почему "coordsys.arx is incompatible with this version of AutoCAD"?
« Последнее редактирование: 28-03-2016, 13:08:02 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #1 : 24-03-2016, 21:27:56 »
подозрительно  "rxapi_cl.pdb" PDB не найден".
Это нормально.
Почему   " is incompatible with this version of AutoCAD" ?
1) AutoCAD 2015 x86?
2) Проверяешь на том же PC, на котором компилировал? Если нет, то только конфигурация Release.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #2 : 24-03-2016, 21:31:08 »
3) Установлен Update 4 для Visual Studio 2012?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: ObjextARX
« Ответ #3 : 25-03-2016, 05:44:10 »
Пробовал Release.
И c AutoCAD 2012.
Результат тот же.

У меня задача простая.
Мне нужно адаптировать стандартную DLL программу на С++ / С в
AutoCAD ARX API
или
AutoCAD NET API.
С ARX пока тупик.

Не могу найти образцы AutoCAD NET API на С++.
В справках только C# и VB.
Дайте, пожалуйста, ссылку на простейшие работающие образцы AutoCAD NET API на С++.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #4 : 25-03-2016, 09:19:31 »
Пробовал Release.
И c AutoCAD 2012.
Результат тот же.
Специально не отвечаешь на мои вопросы? Для AutoCAD 2012 нужен ObjectARX SDK 2012 и Visual Studio 2010. (моя ошибка) Visual Studio 2008 SP1.
« Последнее редактирование: 25-03-2016, 20:56:42 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: ObjextARX
« Ответ #5 : 25-03-2016, 20:28:18 »
Да все делал так.

Вызываю VC 10. OC Windows 7 64.
Из  ObjectARX 2012 беру проект hilight_dg. Конфигурация Release.
1>------ Перестроение всех файлов начато: проект: hilight, Конфигурация: Release Win32 ------
1>  hilight.cpp
1>     Создается библиотека Release\hilight.lib и объект Release\hilight.exp
1>  Создание кода
1>  Создание кода завершено
1>rxapi.lib(libinit.obj) : warning LNK4099: "rxapi_cl.pdb" PDB не найден с "rxapi.lib(libinit.obj)" или на "C:\ObjectARX 2012\samples\entity\hilight_dg\Release\rxapi_cl.pdb"; компоновка объекта выполняется как при отсутствии отладочных данных
1>rxapi.lib(nullobid.obj) : warning LNK4099: "rxapi_cl.pdb" PDB не найден с "rxapi.lib(nullobid.obj)" или на "C:\ObjectARX 2012\samples\entity\hilight_dg\Release\rxapi_cl.pdb"; компоновка объекта выполняется как при отсутствии отладочных данных
1>rxapi.lib(nullSubent.obj) : warning LNK4099: "rxapi_cl.pdb" PDB не найден с "rxapi.lib(nullSubent.obj)" или на "C:\ObjectARX 2012\samples\entity\hilight_dg\Release\rxapi_cl.pdb"; компоновка объекта выполняется как при отсутствии отладочных данных
1>  hilight.vcxproj -> C:\ObjectARX 2012\samples\entity\hilight_dg\Release\hilight.arx
========== Перестроение всех: успешно: 1, с ошибками: 0, пропущено: 0 ==========
Вызываю AutoCAD 2012 (из Program Files).
Выполняю команду ARX.

Команда: ARX

Задайте параметр [Файлы/Группы/Команды/кЛассы/Службы/Загрузить/Выгрузить]: з

hilight.arx несовместим с этой версией AutoCAD.
Сбой AcRxDynamicLinker при загрузке 'c:\objectarx
2012\samples\entity\hilight_dg\release\hilight.arx'
C:\Program Files\Autodesk\AutoCAD 2012 - Russian\acad.exe

Может надо собирать в режиме 64, а не win 32?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #6 : 25-03-2016, 20:37:04 »
Здесь две ошибки:
1) Для AutoCAD 2012 нужен VS 2008 SP1. Возможна работа и с VS 2010, но VS 2008 SP1 должен быть установлен. Из справки:



2) Так как Windows 7 64, то и AutoCAD x64. И компилировать следует в x64, а не в Win32
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Валериян 25-03-2016, 21:02:21

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: ObjextARX
« Ответ #7 : 25-03-2016, 21:02:16 »
Спасибо! Это решение.
Прошло VC 2012 + AutoCAD 2015. x64. Release.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #8 : 25-03-2016, 21:07:00 »
Вот готовый минимальный пример с использованием ObjectARX 2015 и VS 2012 Update 4. Там уже даже готовый Test2015.arx в каталоге x64\Release\
Чтобы ты сам мог построить этот проект нужно в файле Autodesk.arx-2015.props в строке:
Код - XML [Выбрать]
  1. <ArxSdkDir>E:\ObjectARX2015\</ArxSdkDir>
заменить E:\ObjectARX2015\ на путь к твоему ObjectARX SDK 2015
Т.к. у тебя AutoCAD x64 то компилировать для проверки ты должен в конфигурации x64: для отладки - Debug, для передачи на сторону - Release.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #9 : 25-03-2016, 21:10:48 »
Правильное решение было еще здесь: http://adn-cis.org/forum/index.php?topic=6980.msg19217#msg19217
Но оно было или непонято или проигнорировано.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: ObjextARX
« Ответ #10 : 25-03-2016, 21:16:12 »
Спасибо. Тот вариант смотрел.
Но с тем же результатом.
Сейчас другое дело. Посмотрю оба варианта.

А образца NET у Вас нет за пазухой? :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #11 : 25-03-2016, 21:18:57 »
Сейчас другое дело. Посмотрю оба варианта.
Не понял. Какие оба варианта?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: ObjextARX
« Ответ #12 : 25-03-2016, 21:23:44 »
Вчерашний образец по теме NET. И сегодняшний.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjextARX
« Ответ #13 : 25-03-2016, 21:57:25 »
Валериян
Не рекомендую пользоваться mixed C++ (.NET) в тех случаях, когда без него можно обойтись. Если уж есть желание писать с использованием .NET, то - C#.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: ObjextARX
« Ответ #14 : 27-03-2016, 20:08:05 »
Не рекомендую пользоваться mixed C++ (.NET) в тех случаях, когда без него можно обойтись.
Почему не рекомендуете?