Название: MIDL not found! Отправлено: makes от Июнь 25, 2010, 01:15 Проблема!
Пытаюсь собрать COM DLL server. Успешно создаются dll и idl. А вот tlb не генерируется — отсутствует MIDL (на это указывает ошибка при вызове CreateProcess("midl ...")). Скопировал mild.exe, midlc.exe, cl.exe из студии 2005 в кутишный бин. Запускаю "пересобрать проект" — midlc.exe падает! как сгенерировать tlb ?!! P.S. Настройки проекта: ---------------------------------- TEMPLATE = lib VERSION = 1.0 TARGET = MyQtActiveX CONFIG += qt warn_off qaxserver dll HEADERS += ... SOURCES += ... RC_FILE = src/qaxserver.rc DEF_FILE = d:\dev\...\src\qaxserver.def ---------------------------------- Название: Re: MIDL not found! Отправлено: Sanya от Июнь 25, 2010, 08:50 Правильного ответа не знаю, но, как шаманство, я компилил проект под студией и уже в creator подсовывал tlb файл - там интерфейс ActiveX, и если он не часто меняется ....
Название: Re: MIDL not found! Отправлено: Sancho_s_rancho от Июнь 25, 2010, 09:05 Бинарники можно было копировать лет 12-15 назад. Сейчас ПО стало несколько сложнее. Как самый простой вариант запустите Qt creator из MS c++ enviroment. midl нормальное системное окружение надо.
Название: MIDL found!!! Отправлено: makes от Июнь 25, 2010, 13:18 Спасибо, Санчо! Помогло!
... запустите Qt creator из MS c++ enviroment... Сначала решил добавить переменные среды вызовом vcvars32.bat (добавил этап сборки перед стандартными). Не помогло! Тогда вручную добавил пути в PATH в "среде сборки". И еще добавил переменную INCLUDE из того же vcvars32.bat (без нее компилер ругался C1034, "no include path set"). Способ сработал, хотя он мне кажется не очень красивым. Наверное в pro-файле можно менять переменные среды (я искал, но не нашел)? И еще, почему-то к конце имени dll файла была добавлена 1: myqtactivex1.dll ? Название: Re: MIDL not found! Отправлено: Sancho_s_rancho от Июнь 25, 2010, 13:32 Я этим всем делом не пользуюсь, но когда понадобилось я запустил этот батник с окружением и из этой консоли запустил qtcreator.exe. Не элегантно, но быстро.
|