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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 4.7 :: pro-файл :: секция install для Windows  (Прочитано 6468 раз)
8: Undefined index: LANG_NAME
Файл: /var/www/html/Sources/geshi/geshi.php
Строка: 4032
voral
Гость
« : Июля 24, 2013, 15:50 »

Толи меня забанили в гугле, толи я ответ не нашел под носом. В никсах все ок, а вот в винде взрыв мозга. Проблема, как я понял, с пробелами в пути. Итак поступаю следующим образом в pro файле
Код:
win32 {
    isEmpty(PREFIX)
    {
      PREFIX=\"c:\\Program Files\\MyApp\"
    }
    target.path = $$quote(\"$$PREFIX\")
    help.path = $$PREFIX\\help
    help.files = src/help/*.html
}
INSTALLS += target help
В Makefile соответственно появляется команда копирования, но целевой путь не в кавычках и с пробелом. Соответсвенно копирование не идет.. Уж как только не игрался я с кавычками - ни судьба.

Пошел другим путем
Код:
win32 {
    isEmpty(PREFIX)
    {
      PREFIX=\"c:\\Program Files\\MyApp\"
    }
    target.path = $$quote(\"$$PREFIX\")
    target.depends += copy_lang
    copy_lang.target = copy_lang
    copy_lang.commands = $(MKDIR) $$PREFIX\\lang\\ && $(COPY) \"$$DESTDIR\\lang\\*.qm\" \"c:\\Program Files\\qtDbf\\lang\\\"
    QMAKE_EXTRA_TARGETS += copy_lang
}

Если целевая директория пуста. Все ок. Но если там уже есть поддиректория lang то ошибка и дальше не идет установка.


Пробовал в первом варианте прописывать не четкий путь а %ProgramFiles% что, вроде правильнее, но тогда в путях (в MakeFile)сначала добавляется текущий путь а потом '%ProgramFiles%'.....

Как быть?
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #1 : Июля 24, 2013, 16:58 »

Цитировать
copy_lang.commands = $(MKDIR) $$PREFIX\\lang\\ && $(COPY) \"$$DESTDIR\\lang\\*.qm\" \"c:\\Program Files\\qtDbf\\lang\\\"
Возможно из-за $(MKDIR) && $(COPY)? Может по другому надо команды соединить? Using multiple commands and conditional processing symbols.
Записан

Пока сам не сделаешь...
voral
Гость
« Ответ #2 : Июля 24, 2013, 17:32 »

Цитировать
copy_lang.commands = $(MKDIR) $$PREFIX\\lang\\ && $(COPY) \"$$DESTDIR\\lang\\*.qm\" \"c:\\Program Files\\qtDbf\\lang\\\"
Возможно из-за $(MKDIR) && $(COPY)? Может по другому надо команды соединить? Using multiple commands and conditional processing symbols.
Это я пробовал... Но вы навели на другую мысль - я совсем забыл о существовании xcopy она вроде поумнее.....
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Июля 24, 2013, 17:51 »

Если целевая директория пуста. Все ок. Но если там уже есть поддиректория lang то ошибка и дальше не идет установка.

Проверяй на существование с помощью if exists
Записан