Тема: ObjectARX 2006 и MSVS2005 - шоу продолжается?
Ну ессесно, не хватает mfc70.lib и mfcs70.lib
Знатоки, никаких новых решений проблемы не нашлось? Я только что наконец-то сел-таки поковырять ARX, а тут такое... :(
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → ObjectARX 2006 и MSVS2005 - шоу продолжается?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Ну ессесно, не хватает mfc70.lib и mfcs70.lib
Знатоки, никаких новых решений проблемы не нашлось? Я только что наконец-то сел-таки поковырять ARX, а тут такое... :(
> Lexman
Проблемы нет - есть нежелание прочитать ObjectARX Readme:
Microsoft Development Environment Compatibility Issues
AutoCAD 2006 supports both managed (.NET) applications and unmanaged ObjectARX applications. For managed applications, any development environment that builds applications for the .NET framework is acceptable. For unmanaged applications, the Microsoft Development Environment 2002, Version 7.0, is required.
Because ObjectARX libraries are built with the 7.0 versions of Microsoft's MFC and C-runtime libraries, unmanaged ObjectARX applications built with the 7.1 libraries of Microsoft Visual Studio .NET 2003 (code-named "Everett") may experience memory-allocation conflicts.
When AutoCAD 2006 attempts to load an application that uses incompatible runtime libraries, it posts a dialog box that lets the user choose whether to allow such applications to be loaded. This behavior applies to unmanaged applications built with Microsoft Visual Studio 6, as well as those built with Everett.
Developers who use the Everett environment for unmanaged ObjectARX development do so without warranty and at their own risk.
Хм. Честно говоря (см выше) я за ARX взялся только что. И разница между "managed" и "unmanaged" пока для меня смутна. Понял только что ARX - это DLL :)
уважаемый Александр Ривилис
я чисто случайно нашел линк
http://www.manusoft.com/Resources/ARXTips/Main.stm
там написано что можно применить VS 2005 для Autocad 2004. могли бы как профессионал дать оценку на это !!!!!
заранее благодарен
саша
> Sasha
Я принципиально не использую такие вещи и даже не пытаюсь:
1) Все равно нужны .h и .lib файлы из VS 2002.
2) Кроме описанных несовместимостей возможны и другие, значительно более тонкие, когда понять почему программа работает не так как должна будет очень сложно.
3) Autodesk отдельно предупреждает что даже использование SP1 для VS 2002 приводит в ряде случаев к неработоспособности arx-файлов.
Кроме того уже в этом форуме была информация, что если с beta-версией VS 2005 удавалось получить работоспособные arx-файлы, то с релизом - нет (я не проверял).
Так что не вижу смысла искать себе дополнительные приключения.
Все это моя личная точка зрения.
P.S.: Вот еще темы, где этот вопрос обсуждался:
https://www.caduser.ru/forum/topic24662.html
https://www.caduser.ru/forum/topic20099.html
> Sasha
На самом деле там для компиляции используется 2002 студия, а 2005 (или 2003) только в качестве IDE. Может в этом и есть какое-то удобство, но принципиально это картины не меняет: 2002 студия должна быть, нельзя использовать новые возможности компилятора, нельзя использовать новые возможности поставляемых со студией библиотек.
:) Пытаясь обеспечить совместимость между разными dll-ками использующие разные манагеры памяти, я чувствую, разработчики Автодеска плачут крокодильими слезами. Смотришь хедеры ARX-а, там окромя различий в выделении памяти в различных студиях, понаписана херова туча переопределений new и delete и свой heap. Если между dll-кой собраной в VC6 и dll-кой собраной в VC2002 можно было обеспечить корректное взаимодействие, то между arx и обычной dll уже такие фишки не проходят т.к. у arx свой heap видите-ли...
Короче, тащить плюсовые библиотеки вверх по лестнице Visual Studio 2002/2003/2005/... - это гарантированный гемор... на каждом новом шаге компайлер C++ обретает все новые флажки и опции... Когда я сейчас смотрю палитру опций C++ для компайлера в 2005, требуется хорошее успокоительное... И хорошо если библиотека не зависит от других сторонних библиотек, от которых отсутствуют исходники....
Самое банальное решение - пересобирать С++ код AutoCAD-а и ObjectARX для каждой новой версии студии... что в 2007 похоже и сделали...
> KonstantinM
>И хорошо если библиотека не зависит от других
>сторонних библиотек, от которых отсутствуют
>исходники....
Именно поэтому я использую исключительно open source библиотеки, которые сам компилируют с нужными опциями...
Звиняюсь за флудерский вопрос :)
Как я понимаю, чтобы исключить различия между разными версиями/сборками/тп длл'ок, умные люди тыщу лет назад выдумали COM. А что ж это мы, т.е. не мы, а автодеск фигнёй страдает? Или, если под оле/ком/активХ ориентированы его же OLE-сервера, прекрасно работающие как в ВБА так и в прочих современных средах разработки а-ля Delphi и та же VS, почему ARX позиционируется как основное средство разработки под платформу ACAD? И вообще - в чем разница-то? )
Не бейте, я программирование высокого уровня давно забросил :)
> Lexman
Объяснять долго, сложно. Причины этого далеко не очевидны. Просто поверь, что те люди, которые придумали COM, уже давно сами этому не рады... Он нормально работает в тривиальных ситуациях, но как только ситуация усложняется - начинается головняк...
В общем и целом, можно было бы сказать, что COM был похоронен ещё в 2000 году, если бы не одно но... новейшая операционная система Vista полностью построена на COM
Ха, ну прям каждый день что-то новое узнаю.
И опять дядька Билли картину портит :). Интересно, чем его собирются заменить (всё равно ж к этому придёт)...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → ObjectARX 2006 и MSVS2005 - шоу продолжается?
Форум работает на PunBB, при поддержке Informer Technologies, Inc