0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
1

компилятор в QT

18.04.2016, 15:25. Показов 1417. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
простой код на с++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include<fstream>
 
int main()
{
    std::ifstream file;
    file.open("gold.txt");
    if (!file){
        std::cout<<"We have a problem, Houston";
    } else {
        std::cout<<"good job!";
    }
    std::cin.get();
    return 0;
}
компилирую в терминале g++ main.cpp -o main
запускаю файл ./main
все работает - в программе файл открыт, а вот в QT тот же самый код компилирует без ошибок и варнингов, но файл в программе уже не открывается. Не могли бы подсказать в чем тут дело?
я было подумал, что в QT какой то другой компилятор, но полез смотреть в настройки, вроде тот же... в чем засада? )
Миниатюры
компилятор в QT   компилятор в QT  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2016, 15:25
Ответы с готовыми решениями:

Компилятор (Visual C++ 6.0) в плохой совместимости с Windows 7. Посоветуйте другой компилятор
Здравствуйте! Я недавно начал заниматься С++, но мой компилятор (Visual C++ 6.0) в плохой...

Компилятор G++
Здравствуйте, уважаемые программисты! У меня возникла такая проблема. Я всегда писал код на С++...

Компилятор
Пишу компилятор паскаля. Есть button &quot;Компелировать&quot;. Нужно чтобы при нажатии файл prog.pas...

Компилятор C#
Давно мучает вопрос. При компиляции проекта в Visual Studio (в частности 2010), используется...

20
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 15:31  [ТС] 2
п.с. для ясности. т.е. в qt файл компилируется и запускается, но выводит сообщение - We have a problem, Houston т.е. файл txt не открывает.
0
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
18.04.2016, 15:36 3
sudo apt-get install libgl1-mesa-dev. Такую надпись писали в терминале? А то надо.
1
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 15:42  [ТС] 4
kolts, нет ) не писал, что это за библиотека? что оно делает?
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
18.04.2016, 15:48 5
Рабочая директория разная, поэтому он файл не видит. Укажи полный путь до файла или укажи рабочую директорию в настройках запуска.
1
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
18.04.2016, 16:09 6
Если Кьют скачан с официального сайта то не устанавливаются зависимости(хотя не факт что данный пакет есть в зависимостях Кьюта), надо устанавливать данную библиотеку. Эта библиотека связана с опенгл. Гуглится данная проблема плохо, сам не с первого раза разобрался. Также надо устанавливать make, компилятор, который у вас есть и отладчик gdb и можно работать. Так же путь установки и путь проекта должен иметь только латинские символы(это на всякий случай)
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 19:04  [ТС] 7
хм, не до конца понял... разве< fstream> не входит в stl??? разве для юзанья stl надо что то ставить? а я думал оно по тому и называется стандартной библиотекой, потому что она входит по умолчанию во все компили... нет?
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
18.04.2016, 20:06 8
Ты полный путь пробовал указать, как Kastaneda советовал?
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 20:13  [ТС] 9
nmcf, я... эм. я вот разбираюсь, я только в win path знаю как прописывать, но ща разберусь уже и в linux... надеюсь )
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
18.04.2016, 20:20 10
Что-то типа:
C++
1
file.open("/home/dima/cpp/1/test/gold.txt");
Ну ты же должен знать, где твой файл лежит.
1
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 20:44  [ТС] 11
nmcf, хм, я почему то думал, что мне надо указать путь... эм... к какой то библиотеке.. а не к файлу, только ни как не вразумлю какую ж библиотеку я должен прописать. разве файл по умолчанию не ищется в папке откуда запускается программа? а в этом случае... что ж? если скопировать папку в другое место придется изменять код? насколько этот метод задания расположения файла применим в практике?
а еще вопрос, в прошлой теме Вы намекали на regex, а у Kastaneda подпись... ну в общем да, у него есть подпись. так regex надо пользовать или нет? а то вдруг у меня будет еще одной проблемой больше, а у меня их хватает, уж )

Добавлено через 4 минуты
блин, попробовал Ваш метод указания адреса расположения... работает... хм, отсюда
а) сохраняется вопрос насколько верно указывать точный путь к файлу?
б) почему при компиляции чз терминал g++ txt файл может быть найдет при указании только имени, а при компиляции в qt опять же, как я понимаю g++ приходиться указывать путь полностью.

Добавлено через 1 минуту
и почему я искал какую то библиотеку... ведь Kastaneda ни чего не говорил про библиотеки...

Добавлено через 7 минут
проверил в eclipse тут такая же ситуация. путь надо задавать полностью... что же? правильно задавать путь к файлу полностью и менять его... при перемещение исполняемого файла? но, во всех книгах которые у меня есть путь ни где не указывается. указание точного пути файла.. это костыль?
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
18.04.2016, 20:47 12
Откуда я знаю, это вы же там обсуждали какие-то библиотеки.
Цитата Сообщение от DimaAvatar Посмотреть сообщение
почему при компиляции чз терминал g++ txt файл может быть найдет при указании только имени, а при компиляции в qt опять же, как я понимаю g++ приходиться указывать путь полностью.
Потому что среда изменяет каталог по умолчанию. Это и в VS так. Наверное, чтобы файлы не путались.
А вот если ты будешь запускать исполняемый файл напрямую, а не через Qt, то должен искать там же, где сама программа.
1
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
18.04.2016, 21:05  [ТС] 13
nmcf, Спасибо ))) хорошо, что я не "из этих" а то бы я в Вас влюбился )
оч благодарен Всем отвечающим мне.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
18.04.2016, 23:40 14
DimaAvatar, Любви не прошу, ибо тоже не "из этих", но хочу поделиться опытом, так как тоже наступал на эти грабли, и мне вас искренне жаль.
Да, современные ИДЕ-среды очень себе на уме. Что касается Кути-креатора, то его ум по-поводу папок весьма изощрен. Есть папка проекта, есть папки debug и realise, куда он помещает результаты своей работы. И есть текущая папка, откуда он читает ваши файлы. Кто она из них трех - известно только ему самому. Нет, разобраться, конечно, можно, но скажите, зачем нам исследовать свойства этого искусственного интеллекта, к тому же весьма убогого по сравнению с нашим собственным.
В общем выход я нашел решительный. Я все эти среды на фиг послал. С четвергами вместе. А в Куте это оказалось проще простого. Есть pro-файл. Структура его простейшая. И я его делаю ручками (невеликая работа, перечислил исходники, вот и почти все). Запускаю qmake (при каждом изменении pro), он делает makefile. А потом долблю make (при каждом изменении чего-либо в исходниках), который мне показывает все мои ошибочки, за что ему спасибо. То есть делаю шаги Креатора по сборки сам. Руками. Что особых мозолей не набивает. Зато знаешь, что происходит, что к чему. и что в какой папочке лежит и откуда запускается.
А Креатор использую только как редактор. Очень умный редактор. С подсказочками, продолжениями, поисками и прочей замечательной лабудой. Хотя все чаще замечаю, что простого блокнота мне вполне хватает...
ЗЫ. Свой подход никому не навязываю. Просто делюсь тем, что испытал и знаю.
3
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
18.04.2016, 23:57 15
Байт, достаточно знать эту особенность с текущим каталогом. Не обязательно на командную строку переходить из-за такой ерунды.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.04.2016, 00:12 16
Кстати, у QCore есть пара методов, позволяющих определить, какой экзешник запущен, и какая нонче папка - текущая.

Добавлено через 4 минуты
Цитата Сообщение от nmcf Посмотреть сообщение
Не обязательно на командную строку переходить из-за такой ерунды.
У вас, видимо, аллергия на командную строку? А у меня вот - нет. У меня аллергия на реальные неудобства. И на то, что какой-то убогий конечный автомат знает, что мне нужно, лучше, чем я сам.

Добавлено через 9 минут
Цитата Сообщение от Байт Посмотреть сообщение
какой-то убогий конечный автомат
Я конечно, принимаю его услуги, когда он - послушный слуга. Но когда он, как некий Фигаро, начинает плести свои интриги, я от его услуг, пожалуй, откажусь.
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
19.04.2016, 09:22  [ТС] 17
Байт, спасибо, угу, у меня получается подход чем то очень похож на Ваш в использование QT. и видимо так оно и будет, во всяком случае, пока я не стал (хотя не уверен, что это произойдет) использовать эм.. библиотеки(?) QT, но пока да, я использую его тупо как редактор
0
68 / 68 / 17
Регистрация: 20.01.2015
Сообщений: 347
19.04.2016, 19:42 18
Во всех системах если путь до файла не указан, то он ищется там, где лежит бинарник. В кьюте бинарник запускается не там, где исходники т.к. юзается теневая сборка - вывод - нужные файлы надо класть не к исходникам а в папку собираемого проекта. И не надо будет прописывать путь.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.04.2016, 19:47 19
Цитата Сообщение от Amok Посмотреть сообщение
Во всех системах если путь до файла не указан, то он ищется там, где лежит бинарник.
Если я вам чуть-чуть не поверю, вы не обидитесь?
0
68 / 68 / 17
Регистрация: 20.01.2015
Сообщений: 347
19.04.2016, 20:17 20
Байт, нет) Согласен, погорячился))
0
19.04.2016, 20:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 20:17
Помогаю со студенческими работами здесь

Компилятор
Я знаю основу С + + , пишу программы на Microsoft Visual Studio 2010 Помогите понять понятия:...

Компилятор
Всем привет! В VC2003 в С++ столкнулся с проблемой: #include &lt;afxdb.h&gt; int main() {...

Компилятор
Изучаю программирование с java дошла до внутренних классов. Сделала в eclipse пример. Программа не...

Компилятор
что делает компилятор он переводит в машинный язык что такое машинный язык


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru