Russian Qt Forum
Ноябрь 25, 2024, 12:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему не перекомпилируются изменения, внесенные в *.h - файл?  (Прочитано 3753 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Июнь 20, 2015, 13:51 »

Вот есть у меня в проекте файлы main.cpp и main.h. В main.cpp прописан инклюд файла main.h.

В файле main.h есть определение:

#define RELEASE_VERSION   72

Я меняю значение этого определения на 73, и запускаю сборку. В результате генерируется бинарник, в котором в разделе "Версия программы" видна версия 72 а не 73. А чтобы версия в бинарнике поменялась, надо запустить полную пересборку проекта!

Я залез в Makefile, который генерирует qmake. Там для цели main.o есть зависимость src/main.h:

Код:
build/main.o: src/main.cpp src/main.h \
src/views/mainWindow/MainWindow.h \
src/models/appConfig/AppConfig.h

И при сборке видно, что цель main.o компилится:

Код:
14:31:59: Starting: "/usr/bin/make" 
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -Isrc -Ibuild -o build/main.o src/main.cpp

Но почему тогда конечный бинарник не содержит измененного номера версии?
Записан

Собираю информацию по крупицам
http://webhamster.ru
Akon
Гость
« Ответ #1 : Июнь 20, 2015, 14:29 »

Потому что main.h не присутствует в HEADERS.
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #2 : Июнь 20, 2015, 14:43 »

Потому что main.h не присутствует в HEADERS.

В *.pro файле присутсвует:

Код:
HEADERS = src/main.h \
    src/views/recordTable/RecordTableScreen.h \
    src/views/recordTable/RecordTableView.h \
Записан

Собираю информацию по крупицам
http://webhamster.ru
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Июнь 20, 2015, 14:51 »

В файле main.h есть определение:

#define RELEASE_VERSION   72

Я меняю значение этого определения на 73, и запускаю сборку. В результате генерируется бинарник, в котором в разделе "Версия программы" видна версия 72 а не 73. А чтобы версия в бинарнике поменялась, надо запустить полную пересборку проекта!
Для начала после этого дефайна поставить строку типа
Код
C++ (Qt)
#error 123
И посмотреть какие исходники ее схватили
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Июнь 20, 2015, 16:11 »

В результате генерируется бинарник, в котором в разделе "Версия программы" видна версия 72 а не 73. А чтобы версия в бинарнике поменялась, надо запустить полную пересборку проекта!

Версия имеется ввиду в win32 ресурсах? А как генерируется ресурсный файл (rc) с версией?
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #5 : Июнь 20, 2015, 17:35 »

В результате генерируется бинарник, в котором в разделе "Версия программы" видна версия 72 а не 73. А чтобы версия в бинарнике поменялась, надо запустить полную пересборку проекта!

Версия имеется ввиду в win32 ресурсах? А как генерируется ресурсный файл (rc) с версией?

Да нет, просто при выводе на экран берется из дефайна.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Akon
Гость
« Ответ #6 : Июнь 20, 2015, 18:03 »

У вас просто одно приложение или библиотека (где дефайн) и приложение, где выводится версия?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Июнь 20, 2015, 18:17 »

вангую что DEPENDPATH не прописан
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.083 секунд. Запросов: 23.