crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QtCreator vs CMD.exe, Разница в работе
JustOneQuestion
  опции профиля:
сообщение 7.5.2015, 11:20
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 7.5.2015
Пользователь №: 4379

Спасибо сказали: 0 раз(а)




Репутация:   0  


Приветсвуйю людей знающих, опытных и отзывчивых.
С Qt впервые столкнулся после приобретения узко-специализированного устройста, библиотеки работы с которым были под Qt. С библиотеками шёл простой пример. Собственно одна папка с файлами *.c *.cpp *.h *.dll *.a, файлов .pro .lib и каких либо проектов нет. В reedme предлагалось запустить примемр через строку
g++ file1.c file2.c file3.cpp -l:libUSTROYSTVO.a -o result.exe (я в ней названия поменял, для удобства. Main в file3.cpp находится если это важно)
ОС Windows 8.1, скачал и поставил Qt 5.4.1 for Windows 32-bit (MinGW 4.9.1, 856 MB) ( www.qt.io/download-open-source/ )
И через Qt 5.4 for Desktop (MinGW 4.9 32 bit) (ярлык в "меню пуск".. в плитках) запустил (вроде как) аналог cmd.exe (с батником который переменные среды прописывает) и в нем (находясь в директории с файлами примера) использовал
g++ file1.c file2.c file3.cpp -l:libUSTROYSTVO.a -o result.exe
Всё хорошо, без ошибок, получился екзешник примера, который вполне себе работает как нужно.

Но попробовав создать проект в QtCreator и добавить в него файлы примера, чтобы работать в IDE(мне так прривычнее... уж простите если это не по православному... я не в курсе был :) ), у меня на этапе сборки проекта вылезло множество ошибок. В качестве примера создания проекта я использовал Empty Qmake Project.

Не важно, вобщем-то, что за ошибки вылезли, главное мне хотелось бы понять, почему и как исправить то, что через командную строку всё работает, а через QtProject нет(пока)? Как правильно создать проект, который бы точно также реагировал на код как и командная строка...?

Всем, кто не поленился это прочитать, спасибо и всего вам хорошего.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
JustOneQuestion
  опции профиля:
сообщение 11.5.2015, 14:41
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 7.5.2015
Пользователь №: 4379

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 10.5.2015, 21:39) *
У тебя библиотека лежит среди исходников?

Да. Библиотека libUstroystvo.a, исходники pro файл, файл проекта всё в одной папке. Только во время сборки тут же создаётся ещё одна папка TmpResult в которой *.o debug release make файлы.(Я так понял это называется Теневая сборка)
Пробовал создать проект без Qt (при создании проектов есть 6 шаблонов. я использовал тот что для с++ и qmake). В итоге в профайле появляется
CONFIG -= qt
Не знаю поддерживает ли библиотека *.а дебаг режим, поэтому убрал галочку с "отладка" - теперь у меня только "выпуск".
Поставил Qt(MinGw) на другом компе на котором до этого не было ни mingw ни qt; было Windows 7 и MS VS2010. Резльутат - теже ошибки что и тут. На своём компе всё переставил заново - таже история, теже ошибки что и раньше.

Так.. про make файлы... во первых их три... я не понимаю почему но. Есть просто make; есть make.release; и ... make.debug. Откуда послденее ... ннне знаю.
В make.release есть вот такое (Я проект ща обозвал ProjectTestNoQt. )
INCPATH = -I"..\..\ProjectTestNoQt" -I"." -I"..\..\ProjectTestNoQt" -I"C:\ProgramFiles\Qt\Qt5.4.1\5.4\mingw491_32\mkspecs\win32-g++"
LINKER = g++
LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads
LIBS = -LD:/Work/QtMy/ProjectTestNoQt/ProjectTestNoQt/ -lUstroystvo
В make "просто" ничего подобного не заметил.

Цитата(Litkevich Yuriy @ 10.5.2015, 21:39) *
найди запись, где окончательная сборка бинаря осуществляется сравни инструкции с теми, что ты в командной строке выполнял.

Я не понимаю что нужно искать. Поясните пожалуйста.
Но строку типа "g++ ......" я не видел ни в одном из этих файлов.




Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.5.2015, 17:53
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


А что современные g++ умеют одновременно собирать проекты, где есть файлы с *.c и *.cpp? Попробуйте, для эксперимента, все файлы переименовать в *.cpp. И выдайте на форум конкретный список ошибок, после данной операции.

Сообщение отредактировал AD - 11.5.2015, 17:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 11.5.2024, 13:32