У меня вопрос насчет Rotor2.0. Почему-то не получается откомпилировать. Все необходимые Requirements, указанные в документации, я выполнил: WinXP, ActivePerl-5.8.7.815-MSWin32-x86-211909, VS2005Pro(правда, поверх, VS2003.NET, что вроде никак не должно отрицательно влиять, по крайней мере в доках к VS2005 об этом я ни слова не нашел). Так вот, запускаю sscli20\env.bat. Все нормально:
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
32-bit build
Checked Environment
Building for Operating System — NT32
Processor Family — x86
Processor — i386
Build Type — chk
Далее запускаю sscli20\buildall.cmd, а в ответ получаю:
ERROR: The build environment variable isn't set.
Please run env.bat [checked|free|debug]
Более того, проделал то же самое на другой машине. Результат sscli20\env.bat:
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
Error: Could not get platform OS version
*** Error while running env.bat.
[skiped]
RMS>Далее запускаю sscli20\buildall.cmd, а в ответ получаю: RMS>ERROR: The build environment variable isn't set. RMS>Please run env.bat [checked|free|debug]
Вот всё это проделай в консоле. т.е. открой консоль, в ней запусти env.bat, а затем там же buildall.cmd
[skiped]
А дальше у меня самого валится с логом:
mc.exe -U eventlog.mc
'mc.exe' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'mc.exe' : return code '0x1'
Stop.
Насколько я понял эта mc.exe есть только в Висте... Либо в 2003 если "Requires Windows Server "Longhorn"." это про неё.
P.S.
На всякий случай: Про сборку ротора 1 версии упоминается здесь
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Здравствуйте, Closer, Вы писали:
C>Либо в 2003 если "Requires Windows Server "Longhorn"." это про неё
Почему это Windows Server Longhorn — это про 2003? Win 2003 — бывший Windows .NET Server. А Windows Server Longhorn только к концу 2007 года зарелизится.
В документации написано, что требуется VS Professional или старше. Я успешно собрал экспрессом, просто нужен ещё PSDK и DDK (и то, и другое — доступно к скачке). Из SDK нужен сам SDK, подключённый к студии, из DDK — макроассемблер (у себя в SDK я обнаружил только 64-битную версию, но, возможно, это мои кривые руки и корявая исталляция).
В принципе, насколько я понимаю, в DDK входит всё необходимое для компиляции под Win32, в том числе и минимальный набор хедеров из SDK, так что теретически, при помощи большого бубна и напильника возможно обойтись одним DDK
Здравствуйте, Closer, Вы писали:
C>Здравствуйте, Closer, Вы писали:
C>[skiped]
C>А я всё же собрал его. Проблема была простая до безобразия Нужно было поставить C++ при установке студии (а у меня был только C#)
Странно как-то. Т.е. ты хочешь сказать, что ты просто поставил дополнительно С++, запустил env.bat, buildall.bat, и все заработало? Дело в том, что у меня студия стоит в полном комплекте, но Rotor все равно не билдится почему-то =(
[skiped]
RMS>Странно как-то. Т.е. ты хочешь сказать, что ты просто поставил дополнительно С++, запустил env.bat, buildall.bat, и все заработало? Дело в том, что у меня студия стоит в полном комплекте, но Rotor все равно не билдится почему-то =(
Да. Вчера вечером доставил C++ к студии. А сегодня утром запустил билд Ротора. Перед этим удалив mc.exe(пустышку) из System32. И вроде бы всё собралось. т.е. билд дошел до конца. Правда запустить какое либо приложение времени не хватило. Вечером может попробую.
Никакого дополнитешльного Platform SDK не скачивал и не ставил. На машине стоит 2 студии 2003 и 2005. ОС: Windows XP SP2
А что за ошибку у тебя он выдаёт?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Здравствуйте, RusMS, Вы писали:
RMS>У меня вопрос насчет Rotor2.0. Почему-то не получается откомпилировать.
[Skipped]
Ура! Получилось компильнуть Rotor. Проблема была такая простая и глупая. Я батники запускал из far'a, так не работает. А если запускать из cmd, то работает =)
Хочу сделать одну GUI-тулзу для среды Rotor2.0. Но, как известно, Windows Forms в Rotor'е нет. Слышал про QT и GTK+. Сейчас вот читаю доки по этим библиотекам. Есть какие-нибудь советы, может, есть более оптимальные способы для реализации?
У меня есть тулза, написанная с помощью QT framework. Из нее посредством класса QProcess хочу компилировать Rotor2.0 — т.е. сначала вызывать env.bat, потом buildall.cmd, потом все остальное (билдить приложения, вызывать их clix <path_to_application> и т.д.
Но в Rotor2.0 есть некоторые тонкие нюансы — его компилить можно только через cmd, причем в одном и том же окне cmd. Т.е. если мы открыли одно окно, там запустили env.bat, buildall.cmd, то в другом окне вызвать clix <path_to_application> не получится.
Ну так вот. Я пытался создавать процесс через QProcess(все output процесса собираются в QTextEdit), им вызывать сначала env.bat, потом buildall.cmd, так не работает. Когда я вызываю buildall, пишет, что я env.bat не вызвал. Причем это все я делал ОДНИМ процессом(так надеялся, что заработает Работает хоть как-то, если я через QProcess вызываю батник, в котором написал:
Но так делать плохо, потому что так не получится внось вызвать application, хочется, чтобы можно было всякий раз вызывать application, компилить, в общем, свобода действий чтобы была. Также хочется, чтобы можно было сначала вызвать какой-нибудь кнопочкой из тулзы env.bat, потом buildall, а не сразу все подряд.
Как обойти эти неудобства Rotor'a? Надо как-то эмулировать для Rotor'a, что мы находимся в одном и том же окне cmd. Я думал, что если все делать одним QProcess процессом, будет достаточно. Оказалось, что нет. Rotor воспринимает одно окно cmd, как один сеанс запуска процесса
Здравствуйте, RusMS, Вы писали:
RMS>У меня есть тулза, написанная с помощью QT framework. Из нее посредством класса QProcess хочу компилировать Rotor2.0 RMS>- т.е. сначала вызывать env.bat, потом buildall.cmd, потом все остальное (билдить приложения, вызывать их clix RMS><path_to_application> и т.д. RMS>... RMS>... RMS> Rotor воспринимает одно окно cmd, как один сеанс запуска процесса
Я извиняюсь за глупый вопрос, но зачем это се надо в конечном итоге? Куда применять будете?