Russian Qt Forum
Май 06, 2024, 19:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: mingw32-make юзает sh, makefile хочет cmd.exe  (Прочитано 9243 раз)
Eugene Efremov
Гость
« : Май 08, 2007, 04:00 »

mingw32-make версии 3.81, при обнаружении zsh, sh или еще чего-нибудь в том же духе, в качестве шелла юзает именно его. И это, вообще говоря, правильно. Но проблема в том, что при этом она перестает понимать \ как разделитель директории. А оно встречается.

Например qmake от QT генерит именно такие makefile. Как результат -- в makefile написано c:\Qt\4.2.3\bin\moc.exe, а оно выдает:
Код:

zsh: command not found: c:Qt4.2.3binmoc.exe


Вопрос: как заставить эту make юзать для таких случаев cmd.exe? Или -- любым другим способом втолковать ему, что \ -- это разделитель директорий, а не только квотинг?...

P.S. Bариант убирания из path всех *sh не предлагать...
Записан
Вудруф
Гость
« Ответ #1 : Май 08, 2007, 08:41 »

Попробуйте заменить \ на \\.
Записан
Eugene Efremov
Гость
« Ответ #2 : Май 08, 2007, 13:13 »

Цитата: "Вудруф"
Попробуйте заменить \ на \\.


А как быть с теми \ которые действительно используются для квотинга? Я думал о скрипте, который автоматически меняет makefiles, но проблема в том, как отличить, где пути, а где квотинг. Если кто посоветует мне регексп (или какой другой способ), способный гарантированно отличить одно от другого -- буду ему благодарен.

И потом, разница в синтаксисе между cmd и sh заключается не только в этом. Например md и mkdir, cp и copy... Оно честно пытается запустить программу copy.exe... С понятным результатом:

Код:

process_begin: CreateProcess(NULL, copy foo bar, ...) failed.
make (e=2): Не удается найти указанный файл.
mingw32-make.EXE: *** [bar] Error 2


Нет, нужен какой-то способ указать mingw32-make, какую shell ему надо юзать...

P.S. Долго гуглил... Единственное вразумительное, что нашлось по теме, это http://lists.trolltech.com/qt-interest/2006-01/thread00091-0.html. Мать их так, похоже, придется или-таки извращаться с path, или как-то патчить саму mingw32-make...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 20.