Ответ 1
У меня была та же проблема в Ubuntu 11.10 после установки Qt Creator с apt-get. Если вы перейдете в настройки Qt Creator и измените терминал на /usr/bin/xterm -e
, тогда он должен работать.
Я получаю эту ошибку, когда запускаю консольный проект от Qt Creator в Kubuntu. Терминал Konsole появляется, но он только говорит:
Cannot connect creator comm socket /tmp/qt_temp.JH2103/stub-socket: No such file or directory
Press <RETURN> to close this window...
У меня была та же проблема в Ubuntu 11.10 после установки Qt Creator с apt-get. Если вы перейдете в настройки Qt Creator и измените терминал на /usr/bin/xterm -e
, тогда он должен работать.
Это работает для меня.
Меню | Инструменты | Варианты | Среда | Общий | Система | Терминал konsole --nofork -e
Вы можете выполнить следующие шаги, чтобы внести изменения:
Tools > Options > Environment > General > System > Terminal: xterm -e
Qt Creator не поддерживает полный терминал в своем графическом интерфейсе/ Консольные приложения, запущенные с создателя, отображают их вывода в окне создателя. Это окно не поддержка cin. Для обработки таких программ они должны выполняться в фактический терминал. Также под linux правильный терминал программа должна быть указана в настройках создателя.
Установите выполнение программы в терминале в Qt Creator:
1 - На левой панели значков: нажмите "Проекты"
2 - В области "Параметры запуска": нажмите "Показать детали"
3 - Проверьте "Запустить в терминале"
Установить терминал в Qt Creator для linux:
1 - Меню: Инструменты → Параметры...
2 - Выберите "Окружающая среда" → "Общие"
3 - Установите для текста "Терминал:" значение "/usr/bin/xterm -e"
4 - Нажмите "OK"
И все готово.
Я столкнулся с этой же проблемой, и оказалось, что у меня слишком много экземпляров моего консольного приложения, работающего в фоновом режиме. Я оставил свои настройки до gnome-terminal -x
и вместо этого просто закрыл все запущенные экземпляры моего приложения, а затем снова попытался, и он сработал.
Если вы все еще хотите использовать konsole
, это может быть связано с одним из его параметров. В Konsole нажмите Configure
→ Configure konsole
→ Untick Run all Konsole windows in a single process
.
Изменение настроек терминала в меню Сервис- > Параметры- > Среда- > Система- > Терминал до /usr/bin/xterm -e
работало для меня на Ubuntu 13.10
Это сообщение "Невозможно соединить сокет creator comm socket/tmp/.../stub-socket: No such file or directory" для меня, когда вы пытались запустить мой проект в режиме отладки. Это был базовый проект для начала использования Qt с opencv (Загрузить файл изображения). Я заставил меня сделать это.
файл .pro:
QT += core
QT -= gui
TARGET = Hello
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += "/usr/local/include/opencv"
LIBS += `pkg-config opencv --libs`
файл main.cpp содержит:
#include <QCoreApplication>
#include <QDebug>
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
// QCoreApplication a(argc, argv);
//qDebug()<<"hello world";
Mat image;
//image = imread(argv[1]); // Read the file
image = imread("/home/maalej/AhmedWork/maalej.jpg");
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
qDebug()<<"hello world";
cout<<"**********"<<endl;
namedWindow( "Display window" );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0);
return 1;
//return a.exec();
}
При запуске qtcreator установлен manullay после его загрузки с официального сайта, любая печатная строка появляется на консоли, но не изображение!!! Даже при переходе от /usr/bin/xterm -e к x-терминальному эмулятору -e. Я удалил qtcreator, запустив qtcreatormanitenancetool и нажав удалить все. Я переустановил qtcrator, используя программный центр ubuntu (рекомендуется правильно установить пакеты). Я ничего не выполнял в своем проекте, но при изменении значения по умолчанию x-terminal-emulator -e на /usr/bin/xterm -e он работал, и изображение загружалось.
Спасибо, Александр.