ObjectARX и cUrl

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

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

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
ObjectARX и cUrl
« : 08-01-2025, 23:57:25 »
Добрый день, дабы не плодить темы, но вроде бы мой вопрос подходит. Обновил Visual Studio 2022 на Microsoft Visual Studio Community 2022 (64-bit) - Current
Version 17.12.3. И с помощью vcpkg добавил в проект cUrl библиотеку. .arx файл собирается, но Автокад отказывается его загружать: "Unable to load vel.arx file".
Тестирую на Autocad 2024. Подскажите пожалуйста как разрешить проблему? Как я понимаю назад уже не откатиться, да и не хочется, Copilot отвалится в ближайшее время.

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjectARX и cUrl
« Ответ #1 : 09-01-2025, 00:07:22 »
1. Тему разделил.
2. Что такое Visual Studio 2024 - не знаю. Текущая версия 2022.
3. Скорее всего есть ссылка на какую-то dll, которая связана с cUrl. Она должна или быть в путях доступа AutoCAD (например в каталоге с acad.exe) или использовать demandload с этой dll и загружать ее до начала использования.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #2 : 09-01-2025, 00:10:21 »
2. да, исправил, имел ввиду 2022.
3. То есть Visual Studio собирает проект, arx модуль, который обращается к сторонней библиотеке, которую Autocad загрузить не может. Правильно понял?

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjectARX и cUrl
« Ответ #3 : 09-01-2025, 00:12:53 »
Правильно понял?
Да. Посмотри, возможно с cUrl можно линковать статически. Тогда не нужно будет заботиться о dll.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #4 : 09-01-2025, 00:27:33 »
Правильно понял?
Да. Посмотри, возможно с cUrl можно линковать статически. Тогда не нужно будет заботиться о dll.

Спасибо, буду ковырять. Проще наверное снести эту библиотеку из vcpkg и попытаться ручками её добавить.

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #5 : 10-01-2025, 00:43:51 »
Доброй ночи, с горем пополам собрал библиотеку из исходников, слинковал, слинковал её зависимости. При открытии arx файла в AutoCAD появляется такое сообщение.



Куда ещё можно копать, чтобы победить эту проблему?

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjectARX и cUrl
« Ответ #6 : 10-01-2025, 00:53:42 »
DimVer,
Копать в сторону компиляции и линковки с правильной версией MFC.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #7 : 10-01-2025, 00:55:42 »
А как понять какая версия MFC правильная? Или в моём случае, просто перебирать, пока не получится?

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjectARX и cUrl
« Ответ #8 : 10-01-2025, 01:00:45 »
Версия MFC должна быть такая же, что и при создании проекта при помощи ObjectARX Wizard.
Кроме того у тебя возможно смесь Release и Debug версий библиотек. MFC должно компилироваться и линковаться только в Release, т.к. сам AutoCAD использует Release версию. А у тебя судя по сообщению об ошибке используется Debug версия. Смешивать их нельзя.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #9 : 10-01-2025, 01:04:26 »
Специально ничего не менял от создания проекта и до текущего момента. До добавления cUrl все диалоги отлично работали.

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #10 : 10-01-2025, 01:05:21 »
Кроме того у тебя возможно смесь Release и Debug версий библиотек. MFC должно компилироваться и линковаться только в Release, т.к. сам AutoCAD использует Release версию. А у тебя судя по сообщению об ошибке используется Debug версия. Смешивать их нельзя.
Вот это не знал. То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки?

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ObjectARX и cUrl
« Ответ #11 : 10-01-2025, 01:45:00 »
То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки?
Почти всегда - да.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #12 : 10-01-2025, 02:43:35 »
То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки?
Почти всегда - да.
Получилось загрузить RELEASE версию приложения с подсовыванием dll в папку автокад. Статически слинковать получилось, но работать не хочет ни в каком варианте.
Из за одной библиотеки, теряется возможность отлаживать все приложение..

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 44
  • Карма: 2
Re: ObjectARX и cUrl
« Ответ #13 : 11-01-2025, 04:08:12 »
Наверное тему можно удалить. Ибо она не от не знания ObjectARX, а от не знания как слинковать библиотеку к проекту.

По итогу перепробовал несколько библиотек, для моих задач будет достаточно и httplib. Если не нужен HTTPS, библиотека добавляется в проект одним .h файлом, и все работает и в DEBUG и RELESE версии.
« Последнее редактирование: 12-01-2025, 16:32:35 от DimVer »