Сообщество программистов Autodesk в СНГ
		ADN Club => ObjectARX => Тема начата: DimVer от 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 отвалится в ближайшее время.
- 
				1. Тему разделил.
 2. Что такое Visual Studio 2024 - не знаю. Текущая версия 2022.
 3. Скорее всего есть ссылка на какую-то dll, которая связана с cUrl. Она должна или быть в путях доступа AutoCAD (например в каталоге с acad.exe) или использовать demandload с этой dll и загружать ее до начала использования.
- 
				2. да, исправил, имел ввиду 2022.
 3. То есть Visual Studio собирает проект, arx модуль, который обращается к сторонней библиотеке, которую Autocad загрузить не может. Правильно понял?
- 
				Правильно понял? Да. Посмотри, возможно с cUrl можно линковать статически. Тогда не нужно будет заботиться о dll.
- 
				Правильно понял? Да. Посмотри, возможно с cUrl можно линковать статически. Тогда не нужно будет заботиться о dll.
 
 
 Спасибо, буду ковырять. Проще наверное снести эту библиотеку из vcpkg и попытаться ручками её добавить.
- 
				Доброй ночи, с горем пополам собрал библиотеку из исходников, слинковал, слинковал её зависимости. При открытии arx файла в AutoCAD появляется такое сообщение.
 
 (https://i.postimg.cc/HJ34K4SN/image.png) (https://postimg.cc/HJ34K4SN)
 
 Куда ещё можно копать, чтобы победить эту проблему?
 
- 
				DimVer, 
 Копать в сторону компиляции и линковки с правильной версией MFC.
- 
				А как понять какая версия MFC правильная? Или в моём случае, просто перебирать, пока не получится?
			
- 
				Версия MFC должна быть такая же, что и при создании проекта при помощи ObjectARX Wizard.
 Кроме того у тебя возможно смесь Release и Debug версий библиотек. MFC должно компилироваться и линковаться только в Release, т.к. сам AutoCAD использует Release версию. А у тебя судя по сообщению об ошибке используется Debug версия. Смешивать их нельзя.
- 
				Специально ничего не менял от создания проекта и до текущего момента. До добавления cUrl все диалоги отлично работали.
			
- 
				Кроме того у тебя возможно смесь Release и Debug версий библиотек. MFC должно компилироваться и линковаться только в Release, т.к. сам AutoCAD использует Release версию. А у тебя судя по сообщению об ошибке используется Debug версия. Смешивать их нельзя. Вот это не знал. То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки?
 
- 
				То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки? Почти всегда - да.
- 
				То есть даже к DEBUG версии приложения надо линковать RELEASE версию библиотеки? Почти всегда - да.
 
 Получилось загрузить RELEASE версию приложения с подсовыванием dll в папку автокад. Статически слинковать получилось, но работать не хочет ни в каком варианте.
 Из за одной библиотеки, теряется возможность отлаживать все приложение..
- 
				Наверное тему можно удалить. Ибо она не от не знания ObjectARX, а от не знания как слинковать библиотеку к проекту.
 
 По итогу перепробовал несколько библиотек, для моих задач будет достаточно и httplib. Если не нужен HTTPS, библиотека добавляется в проект одним .h файлом, и все работает и в DEBUG и RELESE версии.