Название: Странности с INCLUDEPATH Отправлено: 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 Пожалуйста, помогите разобраться. Название: Re: Странности с INCLUDEPATH Отправлено: ViTech от Октябрь 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" для проекта и выполнить его полную пересборку. Название: Re: Странности с INCLUDEPATH Отправлено: Intueor от Октябрь 24, 2013, 21:59 Спасибо, ViTech!
Кое-что вышло, решил поделиться, вдруг у кого такая же проблема... Перепробовал все варианты присваиваемых строк, какие только нашёл в и-нете - эффекта ноль, только перестаёт видеть путь редактор (при некорректной строке). Переустановил VS2012, проинициализировал пути в сист. переменных (по инструкции с оф. сайта, заново). Толку нет. НО! Загрузил и откомпилировал исходники с nmake - и вуаля! Всё видит! Между тем, официальная сборка ведёт себя так же, как и раньше - не принимает INCLUDEPATH в компилятор, только в область видимости редактора. Оба QTCreator`a (и из пакета, и отдельный) с собственной сборкой работают корректно. |