Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: niksasa от 09-11-2013, 13:55:28

Название: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 13:55:28
Добрый день. Во время построения addin в Visual Basic 2010 Express появляется сообщение об ошибке:
Ошибка   1 выход из команды "call "%VS100COMNTOOLS%vsvars32" mt.exe -manifest "e:\Кнопка\InventorAddIn1.X.manifest" -outputresource:"e:\Кнопка\bin\Release\Кнопка.dll";#2" с кодом 9009. Кнопка
Inventor 2013, winxp x32.
Как исправить эту проблему?
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Владимир Ананьев от 09-11-2013, 17:58:15
Ошибка 9009 означает, что не найден файл.  Скоее всего, не найдена утилита mt.exe.  Доступ к ней не настраивается при установке VS Express.
Поверьте наличие переменной окружения VS100COMNTOOLS с корректным значением.
Попробуйте такой тест - задайте абсолютный путь к утилите mt.exe (в кавычках, поскольку путь содержит пробелы).

Адам Наги опубликовал небольшой пост по особенностям создания Registry-free AddIn для Inventor в Visual Studio 2010 Express:
http://adndevblog.typepad.com/manufacturing/2012/10/registry-free-addin-with-visual-studio-2010-express.html (http://adndevblog.typepad.com/manufacturing/2012/10/registry-free-addin-with-visual-studio-2010-express.html)
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 19:32:41
Ошибка 9009 означает, что не найден файл.  Скоее всего, не найдена утилита mt.exe.  Доступ к ней не настраивается при установке VS Express.
Поверьте наличие переменной окружения VS100COMNTOOLS с корректным значением.
Попробуйте такой тест - задайте абсолютный путь к утилите mt.exe (в кавычках, поскольку путь содержит пробелы).
Что бы я ещё знал как это делается было бы вообще здорово.
PS: наверное я "полный тормоз" раз не понимаю как.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Александр Ривилис от 09-11-2013, 20:29:58
Что бы я ещё знал как это делается было бы вообще здорово.
PS: наверное я "полный тормоз" раз не понимаю как.

Так надеюсь будет понятнее:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg41.imageshack.us%2Fimg41%2F3364%2Ftr98.png&hash=d6c7ae80f2754adce24604d33217d455)

Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Владимир Ананьев от 09-11-2013, 21:11:16
Если установлена VS 2012, переменная и ее значение выглядят так:

VS110COMNTOOLS
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\


у VS 2010 будет имя переменной - VS100COMNTOOLS
у VS 2008 будет имя переменной - VS90COMNTOOLS

+ номер в имени папки будет зависеть от версии Visual Studio.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Александр Ривилис от 09-11-2013, 21:18:14
Для Windows XP x86 (32-разрядной) и установка VS 2010 "по-умолчанию" этот путь: C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 21:33:52
Для Windows XP x86 (32-разрядной) и установка VS 2010 "по-умолчанию" этот путь: C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
У меня нет в переменных средах этой переменной. Её нужно создать?
В папке Tools тоже ничего нет.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 21:36:27
Попробуйте такой тест - задайте абсолютный путь к утилите mt.exe (в кавычках, поскольку путь содержит пробелы).
Где я должен указать путь в ковычках?
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Александр Ривилис от 09-11-2013, 21:43:36
Как оказалось, в VS 2010 mt.exe находится не в том каталоге. У меня: "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe"
Поищи есть ли у тебя mt.exe в Каталоге C:\Program Files, и если есть то где именно.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 21:48:43
Как оказалось, в VS 2010 mt.exe находится не в том каталоге. У меня: "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe"
Поищи есть ли у тебя mt.exe в Каталоге C:\Program Files, и если есть то где именно.
У меня mt.exe в том же каталоге: "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe"
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Александр Ривилис от 09-11-2013, 21:50:52
Отлично. Значит именно этот путь и нужно прописать. Чтобы понять куда именно нужно посмотреть твой файл проекта. Можешь архивировать его (в zip) и выложить сюда.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 21:57:19
Отлично. Значит именно этот путь и нужно прописать. Чтобы понять куда именно нужно посмотреть твой файл проекта. Можешь архивировать его (в zip) и выложить сюда.
ПОЖАЛУЙСТА.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Александр Ривилис от 09-11-2013, 22:06:17
Достаточно было сархивировать Кнопка1.vbproj
Я заменил в нём строку mt.exe на "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe". Должно работать.
 
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 22:12:07
Достаточно было сархивировать Кнопка1.vbproj
Я заменил в нём строку mt.exe на "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe". Должно работать.
Спасибо, заработало. Теперь буду знать.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: niksasa от 09-11-2013, 23:50:45
Спасибо, заработало. Теперь буду знать.
Ещё один вопрос возник. сделал компеляцию addin. Скопировал файл с расширением .addin в папку Inventor Addins.
Из файла readmу не  понял из какой папки проекта копировать файл с расширением dll в папку bin инвентора и кроме того с ним ещё что то нужно делать?
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Владимир Ананьев от 10-11-2013, 00:21:28
Я нашел pptx файл со слайдами по теме создания надстроек. 
В последней трети см. про конфигурирование своего addin.
Название: Re: Ошибка компиляции Add-in для Inventor
Отправлено: Алексей Романов от 12-11-2013, 12:20:39
Из файла readmу не  понял из какой папки проекта копировать файл с расширением dll в папку bin инвентора и кроме того с ним ещё что то нужно делать?
Александр, VS компилирует файл .dll в следующие папки проекта, в зависимости, какой способ компиляции выбран: bin/Debug/Кнопка.dll, если выбран Отладка -> Начать отладку (Применяется для пошаговой отладки), или в папку bin/Release/Кнопка.dll, если выбрано
Отладка -> Построить Кнопка. На стадии создания, я не копирую dll, а в файле .addin прописываю путь к ней, типа этого:  <Description>InventorAddIn1</Description>
  <Assembly>C:\Users\romanov\Documents\Visual Studio 2010\Projects\Кнопка\Кнопка\bin\Release\Кнопка.dll</Assembly>
  <LoadOnStartUp>1</LoadOnStartUp>