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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Странности с INCLUDEPATH  (Прочитано 3964 раз)
Intueor
Гость
« : Октябрь 23, 2013, 23:27 »

Перешёл с VS2012, писал 2D движок с Box2D - необходимо подключить заголовки и библиотеку.
INCLUDEPATH в .pro файле по каким-то причинам влияет лишь на отображение корректности в QtCreator`е и всплывающее окно с адресом (верным), при наведении мыши на #include. При компиляции - сообщение "no such file".
Естественно, потратил море времени на танцы с бубном и рытьё гугла. В итоге, справился сам, но это явно не есть гуд: прописал нужные каталоги в глобальную системную переменную INCLUDE и вообще стёр все INCLUDEPATH из проекта - заработало.

Тестовый проект с тем же результатом.
Файл .pro:

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Test
TEMPLATE = app
INCLUDEPATH += "C:\Program Files (x86)\Box2D_v2.2.1"
INCLUDEPATH += "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include"
SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui


И в начале main.cpp:

#include <Windows.h>
#include <Box2D\Box2D.h>


Qt5.1.1(x86), оф. сборка, QtCreator2.8.1, VS2012

Пожалуйста, помогите разобраться.
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #1 : Октябрь 24, 2013, 11:31 »

Может дело в пробелах в путях к заголовкам?
Цитировать
INCLUDEPATH
...
To specify a path containing spaces, quote the path using the technique mentioned in the qmake Project Files document. For example, paths with spaces can be specified on Windows and Unix platforms by using the quote() function in the following way:

win32:INCLUDEPATH += $$quote(C:/mylibs/extra headers)
unix:INCLUDEPATH += $$quote(/home/user/extra headers)

Ещё, после изменения pro-файла, бывает полезно "Запустить qmake" для проекта и выполнить его полную пересборку.
Записан

Пока сам не сделаешь...
Intueor
Гость
« Ответ #2 : Октябрь 24, 2013, 21:59 »

Спасибо, ViTech!
Кое-что вышло, решил поделиться, вдруг у кого такая же проблема...

Перепробовал все варианты присваиваемых строк, какие только нашёл в и-нете - эффекта ноль, только перестаёт видеть путь редактор (при некорректной строке).
Переустановил VS2012, проинициализировал пути в сист. переменных (по инструкции с оф. сайта, заново). Толку нет.
НО! Загрузил и откомпилировал исходники с nmake - и вуаля! Всё видит!

Между тем, официальная сборка ведёт себя так же, как и раньше - не принимает INCLUDEPATH в компилятор, только в область видимости редактора. Оба QTCreator`a (и из пакета, и отдельный) с собственной сборкой работают корректно.
« Последнее редактирование: Октябрь 24, 2013, 22:01 от Intueor » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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