Qt windows не удалось запустить программу путь или права недопустимы

I have downloaded Qt Mobility Open source project. I had a set of demo apps. And when built it and started the App, I got this error: Failed to start program. Path or permissions wrong? Can s...

I have downloaded Qt Mobility Open source project. I had a set of demo apps. And when built it and started the App, I got this error:

Failed to start program. Path or
permissions wrong?

Can someone tell me what this problem could be?

UPDATE:

The complete error is:

Starting
/Users/xxxxx/Qt/qt-mobility-opensource-src-1.0.2/config.app/Contents/MacOS/config…
Failed to start program. Path or
permissions wrong?

I have include the «.pro» file contents:

TEMPLATE = app
TARGET = writemessage

QT += gui

include(../examples.pri)

CONFIG += mobility
MOBILITY = messaging
INCLUDEPATH += ../../src/messaging

HEADERS += 
    messagesender.h

SOURCES += 
    messagesender.cpp
    main.cpp

symbian:TARGET.CAPABILITY = NetworkServices 
    LocalServices 
    ReadUserData 
    WriteUserData 
    UserEnvironment 
    ReadDeviceData 
    WriteDeviceData

mmoment's user avatar

mmoment

1,26914 silver badges30 bronze badges

asked Oct 14, 2010 at 9:54

RK-'s user avatar

2

I had the same issue in Windows. I found the answer. You need to check the «Working directory» parameter in «Run Settings» section.
I changed it to the same path as my build directory and it worked.

I was running QT as admin.

answered Aug 20, 2012 at 16:22

gl3829's user avatar

gl3829gl3829

1111 silver badge3 bronze badges

My mac didn’t have valgrind installed by default so I had to

brew install valgrind

Go back to QT Creator, and in Projects -> Run -> Valgrind Settings

Point the Valgrind executable to the brew installed version which you can
find by typing which valgrind on the command line.

Finally due to the bug report here I realized that valgrind 3.13 has a bug and doesn’t work, and valgrind 3.12 also doesn’t work on macs, and mac os high sierra isn’t supported by valgrind. So you’re basically out of look until 3.14 comes around.

eyllanesc's user avatar

eyllanesc

230k18 gold badges147 silver badges217 bronze badges

answered Dec 6, 2017 at 5:04

Luke Murray's user avatar

Luke MurrayLuke Murray

8618 silver badges10 bronze badges

I think the problem you are facing here are either the user rights of the executable or a wrong build path.

First, try setting the build path under ‘Projects’ — ‘General’ — Build Directory to a correct path.

If that doesn’t work, open the terminal, go to the build path and execute ./QtBuildProgram

If that doesn’t work, take a look at the user rights ls -a ./QtBuildProgram

Maybe the executable rights are not granted because you are running the Creator in another user mode as the terminal emulator.

Just to be sure, execute sudo chmod u+x QtBuildProgram and then execute the program from the command line by typing ./QtBuildProgram

That should also allow you to run the program from the QtCreator again.

William Wu's user avatar

answered Jan 13, 2012 at 22:26

mmoment's user avatar

mmomentmmoment

1,26914 silver badges30 bronze badges

In my case, it was because I have a 32-bit CPU and it was building 64-bit executables. I only figured this out after trying to run it from the command line though.

answered Nov 25, 2012 at 1:49

Skyler's user avatar

SkylerSkyler

9091 gold badge10 silver badges24 bronze badges

Check your run settings and see if the exe path is existing and file is built there. If you are running windows 7 or windows 8, set the qtcreator executable’s settings to «Run as administrator».

answered Jan 17, 2013 at 4:42

Vikas's user avatar

Check your antivirus settings.

That was my issue.

answered Jul 9, 2018 at 2:36

Paul's user avatar

PaulPaul

956 bronze badges

In my case this error was caused by a space at the start of «Working directory» path in «Run Settings».

answered Jul 17, 2019 at 14:11

Piotr Masek's user avatar

In my case, this error was due to antivirus that was blocking to run the exe file. I just turned off the Avira Shield for some time and it worked.

answered Jul 2, 2020 at 13:46

taimoor1990's user avatar

taimoor1990taimoor1990

1581 silver badge12 bronze badges

In my case it was because I was missing these two lines of code at the top of the project. Make sure you have them without any space above :

#! /usr/bin/env python
# -*- coding: utf-8 -*-

stkent's user avatar

stkent

19.6k14 gold badges85 silver badges107 bronze badges

answered Jul 23, 2016 at 22:05

Andrea Romero's user avatar

I have downloaded Qt Mobility Open source project. I had a set of demo apps. And when built it and started the App, I got this error:

Failed to start program. Path or
permissions wrong?

Can someone tell me what this problem could be?

UPDATE:

The complete error is:

Starting
/Users/xxxxx/Qt/qt-mobility-opensource-src-1.0.2/config.app/Contents/MacOS/config…
Failed to start program. Path or
permissions wrong?

I have include the «.pro» file contents:

TEMPLATE = app
TARGET = writemessage

QT += gui

include(../examples.pri)

CONFIG += mobility
MOBILITY = messaging
INCLUDEPATH += ../../src/messaging

HEADERS += 
    messagesender.h

SOURCES += 
    messagesender.cpp
    main.cpp

symbian:TARGET.CAPABILITY = NetworkServices 
    LocalServices 
    ReadUserData 
    WriteUserData 
    UserEnvironment 
    ReadDeviceData 
    WriteDeviceData

mmoment's user avatar

mmoment

1,26914 silver badges30 bronze badges

asked Oct 14, 2010 at 9:54

RK-'s user avatar

2

I had the same issue in Windows. I found the answer. You need to check the «Working directory» parameter in «Run Settings» section.
I changed it to the same path as my build directory and it worked.

I was running QT as admin.

answered Aug 20, 2012 at 16:22

gl3829's user avatar

gl3829gl3829

1111 silver badge3 bronze badges

My mac didn’t have valgrind installed by default so I had to

brew install valgrind

Go back to QT Creator, and in Projects -> Run -> Valgrind Settings

Point the Valgrind executable to the brew installed version which you can
find by typing which valgrind on the command line.

Finally due to the bug report here I realized that valgrind 3.13 has a bug and doesn’t work, and valgrind 3.12 also doesn’t work on macs, and mac os high sierra isn’t supported by valgrind. So you’re basically out of look until 3.14 comes around.

eyllanesc's user avatar

eyllanesc

230k18 gold badges147 silver badges217 bronze badges

answered Dec 6, 2017 at 5:04

Luke Murray's user avatar

Luke MurrayLuke Murray

8618 silver badges10 bronze badges

I think the problem you are facing here are either the user rights of the executable or a wrong build path.

First, try setting the build path under ‘Projects’ — ‘General’ — Build Directory to a correct path.

If that doesn’t work, open the terminal, go to the build path and execute ./QtBuildProgram

If that doesn’t work, take a look at the user rights ls -a ./QtBuildProgram

Maybe the executable rights are not granted because you are running the Creator in another user mode as the terminal emulator.

Just to be sure, execute sudo chmod u+x QtBuildProgram and then execute the program from the command line by typing ./QtBuildProgram

That should also allow you to run the program from the QtCreator again.

William Wu's user avatar

answered Jan 13, 2012 at 22:26

mmoment's user avatar

mmomentmmoment

1,26914 silver badges30 bronze badges

In my case, it was because I have a 32-bit CPU and it was building 64-bit executables. I only figured this out after trying to run it from the command line though.

answered Nov 25, 2012 at 1:49

Skyler's user avatar

SkylerSkyler

9091 gold badge10 silver badges24 bronze badges

Check your run settings and see if the exe path is existing and file is built there. If you are running windows 7 or windows 8, set the qtcreator executable’s settings to «Run as administrator».

answered Jan 17, 2013 at 4:42

Vikas's user avatar

Check your antivirus settings.

That was my issue.

answered Jul 9, 2018 at 2:36

Paul's user avatar

PaulPaul

956 bronze badges

In my case this error was caused by a space at the start of «Working directory» path in «Run Settings».

answered Jul 17, 2019 at 14:11

Piotr Masek's user avatar

In my case, this error was due to antivirus that was blocking to run the exe file. I just turned off the Avira Shield for some time and it worked.

answered Jul 2, 2020 at 13:46

taimoor1990's user avatar

taimoor1990taimoor1990

1581 silver badge12 bronze badges

In my case it was because I was missing these two lines of code at the top of the project. Make sure you have them without any space above :

#! /usr/bin/env python
# -*- coding: utf-8 -*-

stkent's user avatar

stkent

19.6k14 gold badges85 silver badges107 bronze badges

answered Jul 23, 2016 at 22:05

Andrea Romero's user avatar

2 / 2 / 0

Регистрация: 02.08.2011

Сообщений: 22

1

Не удалось запустить программу. Путь или права недопустимы?

18.04.2012, 20:20. Показов 13888. Ответов 9


Всем привет!
Скачал исходники одной программы с sourceforge.net, при запуске возникает такая вот ошибка (название темы). У кого-нибудь было что-то подобное?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Автор FAQ

2732 / 1428 / 89

Регистрация: 08.09.2011

Сообщений: 3,746

Записей в блоге: 1

18.04.2012, 20:39

2

При чем тут Qt?



0



2 / 2 / 0

Регистрация: 02.08.2011

Сообщений: 22

18.04.2012, 20:46

 [ТС]

3

Цитата
Сообщение от Чистый
Посмотреть сообщение

При чем тут Qt?

исходники на qt написаны.



0



Автор FAQ

2732 / 1428 / 89

Регистрация: 08.09.2011

Сообщений: 3,746

Записей в блоге: 1

18.04.2012, 21:11

4

ну тогда названия программы в студию как собираете где собираете? В пути к исходникам не должно быть пробелов и кириллицы в какой ос собираете вообщем вопросов у меня к вам больше чем у вас…



0



Прогер

632 / 263 / 15

Регистрация: 17.11.2010

Сообщений: 1,371

Записей в блоге: 2

19.04.2012, 08:23

5

don khuan,
Код кокой мы должни угодать?



0



2 / 2 / 0

Регистрация: 13.02.2012

Сообщений: 83

19.04.2012, 08:41

6

удали все лишние файлы из папки с проектом, проверь нет ли русских букв в пути.
я сталкивался с такой проблеммой, решил. В папке с проектом оставь только нужные файлы проекта, а все остальные делетни. должна запуститься. ах да, также удали папки release и debug

Добавлено через 57 секунд

Цитата
Сообщение от Programmer.
Посмотреть сообщение

don khuan,
Код кокой мы должни угодать?

код программы здесь ни при чем вообще…



0



Эксперт С++

1936 / 1048 / 109

Регистрация: 29.03.2010

Сообщений: 3,167

19.04.2012, 09:44

7

ОС и пусть к исполняемому файлу в студию…

Не по теме:

(кстати это больше одминская тематика, нежели девелоперская…)



0



2 / 2 / 0

Регистрация: 02.08.2011

Сообщений: 22

19.04.2012, 10:41

 [ТС]

8

Проблема вроде решена. После сборки в папке debug почему-то никакие файлы не появлялись, поэтому не находился exe’шник.
Зато они появлялись в папке realese (хотя в параметрах сборки было указано «Отладка»). Я просто скопировал все из realese в debug и всё запустилось. Только теперь не могу в отладчик влезть..

использую qt creator 2.4.1. сборка qt 4.7.4 , работаю в XP.
Код выкладывать думаю нет смысла, тут скорее проблема в настройке creator’a



0



Эксперт С++

1936 / 1048 / 109

Регистрация: 29.03.2010

Сообщений: 3,167

19.04.2012, 10:57

9

Цитата
Сообщение от don khuan
Посмотреть сообщение

Я просто скопировал все из realese в debug и всё запустилось. Только теперь не могу в отладчик влезть..

Не по теме:

:wall::D:bravo::rofl::gcray2:



2



2 / 2 / 0

Регистрация: 13.02.2012

Сообщений: 83

19.04.2012, 12:00

10

Я просто скопировал все из realese в debug и всё запустилось. Только теперь не могу в отладчик влезть..

ты случайно не знаешь чем отличается debug от realese ?)

Поюзай гугл, потом сам будешь смеятся над тем, что ты сделал и заодно найдешь ответ на свой вопрос.



0



У меня в основном .pro файл выглядит так :3

#-------------------------------------------------
#
# Project created by QtCreator 2018-08-31T15:16:30
#
#-------------------------------------------------
# core- для кода, gui(widgets) для элементов, serialbus это протокол КАН, concurrent - многопоточность.

QT       += core gui concurrent serialbus

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = terminal
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += 
        main.cpp 
        mainwindow.cpp

HEADERS += 
        mainwindow.h 
    PCANBasic.h

FORMS += 
        mainwindow.ui

DISTFILES += 
    PCANBasic.dll 
    pict1.png 
    pict.ico

В том предоставленном к нашему вниманию .pro файлу не хватает строчек:

  QT  += // прописываем блоки подключенных библиотек
  TARGET =  // цель изделия  (чтоб понять по сути нужна и нижняя строка, как ведите на моём примере это терминальное приложение)
  TEMPLATE = // прописываем что мы создаём (приложение либо библиотеку)

Хочу заметить что у меня есть догадка что вы не выложили весь .pro файл.
И как по мне кажеться что проблемма не в настройках сборки и настройках запуска.

Ещё возможно что вы просто не удалили перед запуском проекта файлы (от при ведущего пользователя): Makefile, Makefile.Debug, Makefile.Release, <название_проекта>.pro.user. Обязательно их удалите (при вашем первом запуске проекта компьютер соберет эти файлы на вашем компьютере ) это файлы предыдущих компьютерных настроек (сборщика проекта) на другой компьютер, другого пользователя.

Я загрузил проект с открытым исходным кодом Qt Mobility. У меня был набор демонстрационных приложений. И когда построил его и запустил приложение, я получил эту ошибку:

не удалось запустить программу. Путь или
разрешения неправильные?

может кто-нибудь сказать мне, что это за проблема?

обновление:

полная ошибка:

начиная
/Пользователи/ХХХХХ/с Qt/Qt-в мобильности-с открытым исходным кодом-КГД-1.0.2/конфиг.app / содержание / MacOS / config…
Не удалось запустить программу. Путь или
разрешения неправильные?

У меня есть включить «.pro » содержимое файла:

TEMPLATE = app
TARGET = writemessage

QT += gui

include(../examples.pri)

CONFIG += mobility
MOBILITY = messaging
INCLUDEPATH += ../../src/messaging

HEADERS += 
    messagesender.h

SOURCES += 
    messagesender.cpp
    main.cpp

symbian:TARGET.CAPABILITY = NetworkServices 
    LocalServices 
    ReadUserData 
    WriteUserData 
    UserEnvironment 
    ReadDeviceData 
    WriteDeviceData

7 ответов


Я думаю, что проблема, с которой вы столкнулись здесь, — это либо права пользователя исполняемого файла, либо неправильный путь сборки.

во — первых, попробуйте установить путь сборки в разделе «Проекты» — «общие» — каталог сборки на правильный путь.
Если это не сработает, откройте терминал, перейдите к пути сборки и выполните./ QtBuildProgram.
Если это не сработает, взгляните на права пользователя (ls-a ./QtBuildProgram ), возможно, исполняемые права не предоставляются, потому что вы запускаете Создателя в другом режим пользователя как эмулятор терминала.

чтобы быть уверенным, выполните sudo chmod u+x QtBuildProgram, а затем выполните программу из командной строки, введя./ QtBuildProgram

Это также должно позволить вам снова запустить программу из QtCreator.


У меня была такая же проблема в Windows. Я нашел ответ. Вам нужно проверить параметр «рабочий каталог» в разделе «выполнить настройки».
Я изменил его на тот же путь, что и мой каталог сборки, и он работал.

я запускал QT как администратор.


мой mac не был установлен valgrind по умолчанию, поэтому мне пришлось

brew install valgrind

вернитесь к Qt Creator, а в проектах — > Run — > Valgrind Settings

укажите исполняемый файл Valgrind на установленную версию brew, которую вы можете
найти, введя which valgrind в командной строке.

наконец из-за сообщения об ошибке здесь я понял, что valgrind 3.13 имеет ошибку и не работает, и valgrind 3.12 также не работает на macs, и mac os high sierra не поддерживается valgrind. Так что вы в основном из смотреть до 3.14 приходит.


в моем случае это было потому, что у меня 32-разрядный процессор, и он создавал 64-разрядные исполняемые файлы. Я понял это только после того, как попытался запустить его из командной строки.


проверьте настройки запуска и посмотреть, если exe путь существует и файл построен там. Если вы используете windows 7 или windows 8, задайте для параметров исполняемого файла qtcreator значение «Запуск от имени администратора».


проверьте настройки антивируса.

Это была моя проблема.


в моем случае это было потому, что мне не хватало эти две строки кода в верхней части проекта. Убедитесь, что у вас есть их без какого-либо пространства выше:

#! /usr/bin/env python
# -*- coding: utf-8 -*-

Я открыл cmakelists.txt как проект в QtCreator под Windows 7. Он прекрасно компилируется и создает рабочий исполняемый файл по правильному пути. Только в создателе программа не запустится после сборки. Это всегда дает мне одну и ту же ошибку:

«Не удалось запустить программу. Неправильный путь или разрешения?
H: path to my.exe завершен с кодом -1 «

Поскольку путь (я дважды проверил) правильный, а исполняемый файл находится в нужном месте и работает нормально, я догадался, что проблема была в разрешениях.
Я попытался запустить создателя от имени администратора, который ничего не изменил.
Я также попытался изменить рабочую директорию в «Опции — Сборка и запуск — Общие»

Благодарим за любую идею!

Я использую QtCreator Qt Creator 3.3.1, основанный на Qt 5.4.1, с компилятором mingw.

2

Решение

Вы пытались удалить все файлы pro.user из каталога проекта, а затем перезапустить Qt Creator и, возможно, перенастроить проекты?

1

Другие решения

Других решений пока нет …


Форум программистов Vingrad

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> Изменение каталога сборки, запуск программы 

:(

   

Опции темы

becks
Дата 12.7.2012, 17:45 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Бывалый
*

Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.7.2010

Репутация: нет
Всего: нет

Добрый день, коллеги. Такой вопрос, хочу чтобы релизовый бинарник падал в необходимый мне каталог, а не в каталог по умолчанию, а остальные файлы — в дефолтовый. Для этого добавляю в файл проекта следующее:

Код

Release:DESTDIR = ../../SModules/ys
Release:OBJECTS_DIR = release/.obj
Release:MOC_DIR = release/.moc

Debug:DESTDIR = debug
Debug:OBJECTS_DIR = debug/.obj
Debug:MOC_DIR = debug/.moc

Размещение происходит идеально, все кидает куда нужно. Но только я захотел запустить проект на выполнение в Qt Creator, сразу получил:

Код

Не удалось запустить программу. Путь или права недопустимы?
C:......ysreleaseys.exe завершился с кодом -1
Запускается C:......ysreleaseys.exe...

Оно вроде и понятно, среда пытается запустить программу по дефолтовому пути. Самое занятное, что среда не дает изменить путь в exe в Проекты-Настройки запуска-программа. Для поля закрыто редактирование.
Подскажите, пожалуйста, как и что поменять, чтобы можно было запустить экзешник из среды, не из дефолтового каталога? Спасибо

PM MAIL   Вверх
math64
Дата 12.7.2012, 19:41 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72

я использую не отностельные пути, а использую макрос $$PWD для каталога проекта — все работает правильно.
отладочную версию складываю в тот же каталог, но добавляю d к имени файла. Так проще находить файлы конфигурации, бази данных, плагины и т.д.

PM   Вверх
becks
Дата 13.7.2012, 09:38 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Бывалый
*

Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.7.2010

Репутация: нет
Всего: нет

Я все равно не очень понял, допустим у меня такая структура:

Projects
|
|_Project_1
|                    |
|                    |_*cpp , *h
|                    |
|                    |_release
|                    |            |
|                    |            |_ .moc, .obj
|                    |
|                    |_debug
|                                |
|                                |_ .moc, .obj
|
|
|_Project_2
|                    |
|                    |_*cpp , *h
|                    |
|                    |_release
|                    |            |
|                    |            |_ .moc, .obj
|                    |
|                    |_debug
|                                |
|                                |_ .moc, .obj
|
|
|_Global_Project
                    |
                    |_Project_1
                    |               |
                    |               |_ Project_1.exe
                    |
                    |_Project_2
                    |               |
                    |               |_ Project_2.exe
                    |
                    |_*cpp , *h
                    |
                    |_release
                    |            |
                    |            |_ .moc, .obj, Global_Project.exe
                    |
                    |_debug
                                |
                                |_ .moc, .obj, Global_Project.exe

И я добиваюсь такого размещения благодаря pro файлу указанному выше, но вот программа никак не хочет запускаться из среды.

Как в данном случае будет выглядеть .pro относительно моего вопроса, пусть и с макросами $$PWD для проекта Project_1? И еще подскажите в настройках запуска проекта есть поле «Рабочий каталог», я наивно полагал, что $$PWD берет значение оттуда. $$PWD — это каталог в котором находится pro файл данного проекта, всегда?

Это сообщение отредактировал(а) becks — 13.7.2012, 09:38

PM MAIL   Вверх
math64
Дата 13.7.2012, 11:03 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72

Вот как в моём файле проекта:

Код

CONFIG(debug, debug|release) {
TARGET = MyAppD
} else {
TARGET = MyApp
}
DESTDIR = $$PWD/../bin
release:OBJ_DIR = $$OUT_PWD/release/obj
release:MOC_DIR = $$OUT_PWD/release/moc
release:RCC_DIR = $$OUT_PWD/release/rcc
release:UI_DIR = $$OUT_PWD/release/ui
debug:OBJ_DIR = $$OUT_PWD/debug/obj
debug:MOC_DIR = $$OUT_PWD/debug/moc
debug:RCC_DIR = $$OUT_PWD/debug/rcc
debug:UI_DIR = $$OUT_PWD/debug/ui

$$PWD — каталог с файлом проекта
$$OUT_PWD — каталог, куда QtCreator создаёт makefile. При обычном запуске qmake то же самое, что и $$PWD

Добавлено через 4 минуты и 35 секунд
кстати, у тебя Debug, Release. Нужно debug, release

PM   Вверх
spyswamp
Дата 13.7.2012, 16:08 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7

Оффтоп: Кстати, у $$PWD обнаружил дурную особенность. Он даже под Windows возвращает в пути «/» вместо «». С этим могут быть проблемы.

———————

— why you call it beta?
— cuz it’s betta then nothin’

PM MAIL   Вверх
math64
Дата 13.7.2012, 21:57 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72

Ну давал бы $$PWD путь с ‘\’ — предлагаешь мой проект переписать так:

Код

CONFIG(debug, debug|release) {
TARGET = MyAppD
} else {
TARGET = MyApp
}
unix:DESTDIR = $$PWD/../bin
unix:release:OBJ_DIR = $$OUT_PWD/release/obj
unix:release:MOC_DIR = $$OUT_PWD/release/moc
unix:release:RCC_DIR = $$OUT_PWD/release/rcc
unix:release:UI_DIR = $$OUT_PWD/release/ui
unix:debug:OBJ_DIR = $$OUT_PWD/debug/obj
unix:debug:MOC_DIR = $$OUT_PWD/debug/moc
unix:debug:RCC_DIR = $$OUT_PWD/debug/rcc
unix:debug:UI_DIR = $$OUT_PWD/debug/ui
win32:DESTDIR = $$PWD\..\bin
win32:release:OBJ_DIR = $$OUT_PWD\release\obj
win32:release:MOC_DIR = $$OUT_PWD\release\moc
win32:release:RCC_DIR = $$OUT_PWD\release\rcc
win32:release:UI_DIR = $$OUT_PWD\release\ui
win32:debug:OBJ_DIR = $$OUT_PWD\debug\obj
win32:debug:MOC_DIR = $$OUT_PWD\debug\moc
win32:debug:RCC_DIR = $$OUT_PWD\debug\rcc
win32:debug:UI_DIR = $$OUT_PWD\debug\ui

чтобы везде были правильные слеши. Аналогично в INCLUDEPATH и т.д.
В большинстве случаев в windows это без разницы, а  проект усложняется.

Это сообщение отредактировал(а) math64 — 13.7.2012, 21:58

PM   Вверх
spyswamp
Дата 25.7.2012, 17:05 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7

Это я к тому, что win32:DESTDIR = $$PWD\..\bin развернется в blabla/ololo/kukuku\..\bin. Команды copy и xcopy виндовые не схавают, например, твои «/». Хотя, я это просто обошел: написал мелкий cmd-файл, чтобы он слеши менял, а в *.pri спокойно использовал $$PWD.

Код

@echo off
set src=%1
set dst=%2
set src=%src:/=%
set dst=%dst:/=%
xcopy /Y %src% %dst%

Добавлено через 1 минуту и 23 секунды
Тогда сама команда оборачивается так:

Код

win32
{
    ...
    QMAKE_POST_LINK += $$quote( $$PWD/local_deploy.cmd $$PWD/Shared/Models/preprocess.xsl ./debug & )
    ...
}

———————

— why you call it beta?
— cuz it’s betta then nothin’

PM MAIL   Вверх
math64
Дата 25.7.2012, 18:15 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72

А я к тому, что твоё blabla/ololo/kukuku\..\bin линукс не схавает. Поэтому нужно писать $$PWD/../bin, а тогда в твоём c:\blabla\ololo\kukuku/../bin толку тоже не будет — нужно оставшиеся / превращать в \.
А для этого у qmake есть $$replace(string, /, \) — её всё равно применять при любом поведении $$PWD

PM   Вверх
spyswamp
Дата 26.7.2012, 13:49 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7

math64, о, про $$replace() не знал. smile Конечно, не схавает. Поэтому если есть какой-то деплой, то не всегда получится ограничиться универсальностью — это был основной тезис оффтопа. smile

———————

— why you call it beta?
— cuz it’s betta then nothin’

PM MAIL   Вверх
math64
Дата 26.7.2012, 17:07 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72

Про $$quote() ведь знал! А $$replace() следующая за ней в хелпе.

PM   Вверх
spyswamp
Дата 26.7.2012, 19:01 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7

math64, ты меня затроллил!  smile  smile 

———————

— why you call it beta?
— cuz it’s betta then nothin’

PM MAIL   Вверх
bsa
Дата 28.7.2012, 20:16 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196

Цитата(becks @  12.7.2012,  18:45 Найти цитируемый пост)
Подскажите, пожалуйста, как и что поменять, чтобы можно было запустить экзешник из среды, не из дефолтового каталога?

Зайди в режим проект, открой вкладку «Запуск» (или «конфигурация запуска») и настрой пути к исполняемому файлу. Файл pro тут не причем.

———————

Правильно заданный вопрос — половина ответа
Отзывы о работе модератора.

PM   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets»
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt — не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой «Код».
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, «кряков», взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »

Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Еще…Меньше

Проблема

При попытке установить, обновить или запустить программу или файл появляется следующее сообщение об ошибке:

Ошибка: «Windows не удается получить доступ к указанному устройству, пути или файлу. Возможно, у вас нет нужных разрешений для доступа к этому объекту.»

Решение

Для решения этой проблемы выполните действия, описанные ниже, начиная со способа 1. Если этот способ не поможет, переходите к следующему способу.

Способ 1. Проверьте разрешения на доступ к файлу и папке

Примечание. Необходимо обладать правами администратора или быть членом группы «Администраторы домена», если компьютер входит в домен.

Разрешения — это правила, связанные с файлами, которые определяют, может ли пользователь получать доступ к файлу и какие действия с ним он может выполнять. Чтобы проверить разрешение на файл или папку, выполните указанные ниже действия.

  1. Щелкните файл или папку правой кнопкой мыши и выберите пункт Свойства.

  2. Перейдите на вкладку Безопасность.

  3. В разделе Группы или пользователи выберите свое имя, чтобы просмотреть имеющиеся разрешения. (Снимок экрана для этого этапа приведен ниже.)
    Снимок экрана для этого шага

  4. Нажмите кнопку Изменить, установите флажки для нужных разрешений и нажмите кнопку ОК. (Снимок экрана для этого этапа приведен ниже.)
    Снимок экрана для этого шага


Дополнительные сведения о разрешениях см. в статье Что такое разрешения?.

Способ 2. Проверьте расположение файла

Данная ошибка может возникать, если ярлык или установленная программа пытаются получить доступ к расположению, недоступному в настоящее время (например, к сетевой папке или съемному диску). Проверьте путь к файлу, к которому Windows не может получить доступ, и убедитесь, что расположение доступно. (Снимок экрана для этого этапа приведен ниже.)
Снимок экрана для этого шага

Способ 3. Убедитесь, что файл не был перемещен или удален

Данная ошибка может возникнуть также в случае, если файл был перемещен или удален. Перейдите в папку, содержащую необходимый файл, и убедитесь, что он находится там.

Способ 4. Создайте ярлык повторно, чтобы проверить наличие повреждений

Данная ошибка может возникать также в случае, если ярлык или файл другого типа был поврежден. Проверить ярлыки на наличие повреждений можно посредством повторного создания ярлыка. Для этого перейдите к разделу Создание или удаление ярлыка.

Если повреждено приложение или файл другого типа, для решения проблемы может потребоваться восстановить приложение.

Способ 5. Разблокируйте файл

В некоторых случаях Windows может блокировать файл. Просмотрите свойства файла — они могут содержать следующее примечание: Этот файл получен с другого компьютера и, возможно, был заблокирован с целью защиты компьютера. Чтобы проверить это и при необходимости разблокировать файл, сделайте следующее.

  1. Щелкните заблокированный файл правой кнопкой мыши и выберите пункт Свойства.

  2. На вкладке Общие нажмите кнопку Разблокировать, если она доступна.

Способ 6. Проверьте, не блокирует ли файл антивирусное программное обеспечение

Чтобы проверить, не блокирует ли файл ваша антивирусная программа, временно отключите ее и попытайтесь открыть файл. Если потребовалось временно отключить антивирусное программное обеспечение, включите его сразу же после выполнения необходимого действия. Если во время данного отключения компьютер подключен к Интернету, он уязвим для атак.

Важно! Отключение антивирусного программного обеспечения или изменение его настроек может сделать ваш компьютер уязвимым для вирусов, мошенничества и других вредоносных действий. Корпорация Майкрософт не рекомендует отключать антивирусное программное обеспечение или изменять его настройки.  Если потребовалось временно отключить антивирусное программное обеспечение, включите его сразу же после выполнения необходимого действия. Применяя этот метод обхода проблемы, вы действуете на собственный риск. Сведения о временном отключении антивирусного программного обеспечения см. в статье Отключение антивирусного программного обеспечения.

Причина

Подобная проблема может возникать при выполнении на компьютере любого из следующих условий.

  • Нет разрешения на доступ к файлу или его расположению.

  • Файл находится в недоступном в настоящее время расположении, например в сетевой папке или на внешнем диске, не подключенном к компьютеру в настоящий момент.

  • Файл был перемещен или удален.

  • Файл или ярлык поврежден.

  • Windows может блокировать файл.

  • Антивирусное программное обеспечение может блокировать файл.

Дополнительная информация

Дополнительные сведения об ошибках при доступе к файлами или папкам в Windows см. в статье «Отказано в доступе» и другие ошибки при попытке доступа к файлам и папкам Windows или при работе с ними.

Нужна дополнительная помощь?

Понравилась статья? Поделить с друзьями:
  • Qt qpa plugin could not find the qt platform plugin windows
  • Qt platform plugin windows скачать торрент
  • Qt platform plugin windows ошибка как исправить windows 10
  • Qt platform plugin windows ошибка как исправить python
  • Qt platform plugin windows ошибка как исправить amd