crossplatform.ru

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

> Qt+CodeBlocks
Fedcomp
  опции профиля:
сообщение 23.10.2010, 20:51
Сообщение #1


Новичок


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

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




Репутация:   0  


Всем привет.
Хочу чтобы CodeBlocks на автомате (по клавише F9 т.е компиляция) проходился по полному циклу qmake и потом компиляция через mingw.
Но возникло много трудностей. Во первых я новичок, процессы компиляции понимаю крайне плохо (лишь знаю что в .o файлах компилируется код, затем линкером объединяется в экзешник, ну ещё что то слышал про makefile, но не знаю как они работают, и знаю что Qt использует moc для того чтобы добавить к C++ упрощенный вид функций (т.е препроцессор moc делает б0льшую работу за программиста, собственно превращая псевдо slots и signals в настоящий код понятный компилятору))
Во вторых не понятен способ ручной компиляции Qt проектов. В Qt designer сборка проходит абсолютно прозрачно, как и что он в это время делает не понятно.
Пробовал порыться в гугле, нашел qmake -project (рекурсивно проходится по текущему каталогу и составляет qt проект) и qmake "имя_проекта.pro" который проходится moc'ом как я понял.
Так вот такая задача, хочу чтобы CodeBlocks автоматически запускал qmake перед компиляцией, это возможно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Fedcomp
  опции профиля:
сообщение 24.10.2010, 11:38
Сообщение #2


Новичок


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

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




Репутация:   0  


Т.е достаточно сделать Makefile с помощью QT и заставить кодеблоки юзать этот мейкфайл?
и при этом qmake при необходимости будет запускаться сам, я правильно все понял?

Делаю так,
cmd.exe=>
D:\non_users\projecT\GSC\develope\server_configurator>qmake -project

D:\non_users\projecT\GSC\develope\server_configurator>qmake "server_configurator
.pro"
WARNING: d:\non_users\projecT\GSC\develope\server_configurator\server_configurat
or.pro:7: Unescaped backslashes are deprecated.
WARNING: d:\non_users\projecT\GSC\develope\server_configurator\server_configurat
or.pro:7: Unescaped backslashes are deprecated.
WARNING: d:\non_users\projecT\GSC\develope\server_configurator\server_configurat
or.pro:7: Unescaped backslashes are deprecated.

D:\non_users\projecT\GSC\develope\server_configurator>

Появляются мейк файлы (Makefile, Makefile.release, Makefile.debug)

Дальше захожу в CodeBlocks, запускаю проект и в свойствах проекта нажимаю "This is custom makefile" нажимаю ок.
Жму F9 (т.е компиляцию и запуск)
Получаю
It seems that this project has no been built yet.
Do you want to build it now?

(что нормально, т.е кодеблок хочет его компильнуть)
Нажимаю yes и получаю
-------------- Build: Debug in srvconfig ---------------

Using makefile: Makefile
MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
Fatal: 'FORCE' does not exist - don't know how to make it
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings

Смотрю в makefile и вижу
debug: $(MAKEFILE).Debug FORCE
    $(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
    $(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
    $(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
    $(MAKE) -f $(MAKEFILE).Debug all

И много подобных строк. Как я понял компилятор не знает что делать с FORCE
Что я сделал не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 29.3.2024, 9:48