конфигурация qt в винде

У меня возникли проблемы с установкой и настройкой qt на ноутбуке Vista.

Я пытаюсь настроить среду разработки на своем ноутбуке, где я компилирую из командной строки, потому что именно так среда настроена на Linux-машинах моего университета, поэтому я не хочу привязывать себя к какой-то IDE .. (плюс, настоящие программисты используют командную строку!)

Раньше я не использовал командную строку для разработки на C++, это был MSVC, так что теперь у меня небольшие проблемы.

Я все еще использую MSVC, но из командной строки. Я практически понятия не имею, что происходит, я просто знаю, что мне нужно бежать:

qmake
nmake

для компиляции моего кода!

Я загрузил версию qt с открытым исходным кодом, выполнил настройку и попробовал простое приложение qt (из учебника), и оно сработало, оно скомпилировалось и выполнилось почти так, как ожидалось.

Теперь, когда я решил запустить другой проект, использующий opengl, я получил следующую ошибку:

fatal error C1083: Cannot open include file: 'qgl.h': No such file 
or directory

Я не уверен, где компилятор ищет файлы заголовков, и я никуда не копировал файлы заголовков, я предполагаю, что configure.exe каким-то образом сработало свое волшебство и добавило каталог включения в одну или несколько переменных среды или в какое-то место в реестре или любые другие места, которые компилятор MSVC ищет, чтобы найти включаемые каталоги.

Однако то, что я сделал, это поискал в моей папке C:\qt\include\, чтобы убедиться, что qgl.h существует, и, конечно же, он там был. так почему nmake не может его найти?


person hasen    schedule 01.02.2009    source источник


Ответы (6)


Если вы все равно хотите остаться с командной строкой (плюс использовать ее в Linux-окне позже/параллельно), я бы посоветовал хотя бы попробовать MinGW-версию Qt. Я использую его регулярно, и, кроме отсутствия графического интерфейса, он работает довольно хорошо. Использование MinGW также имеет то преимущество, что вы можете просто загрузить и установить версию Qt MinGW, и вам не нужно ничего перенастраивать или перекомпилировать.

Кроме того, может быть интересно попробовать QtCreator. Это все еще бета-версия, и для нее требуется бета-версия Qt 4.5, но это хорошая небольшая IDE, которая хорошо интегрируется с gcc.

person bluebrother    schedule 01.02.2009
comment
хм, использование mingw звучит как хорошая идея, я попробую, спасибо - person hasen; 02.02.2009
comment
Чтобы придираться, это не отвечает на вопрос, а просто обеспечивает обходной путь. - person mxcl; 03.02.2009

Я думаю, что фактическое решение этого находится в вашем профессиональном файле:

QT += опенгл

person mxcl    schedule 03.02.2009
comment
Да, это только решает проблему компоновщика, не находящего статическую библиотеку opengl, но не решает проблему с заголовочным файлом, я переключился на mingw и добавил opengl в CONFIG, и это сработало. - person hasen; 03.02.2009
comment
Строка Qt также изменяет INCLUDEPATH, поэтому она должна работать. Но этот материал всегда имеет несколько факторов в игре. - person mxcl; 03.02.2009
comment
но на самом деле qgl.h был в папке include по умолчанию с самого начала (для меня во всяком случае), но он содержал только одну строку #include "../QtOpengl/qgl.h" или что-то подобное - person hasen; 04.02.2009

Два возможных решения (они решили проблемы на моем рабочем месте)

У вас есть папки qt include и bin в переменной PATH? Я думаю, что документ говорит, что нужен только один из них, но у одного из студентов была Vista, и добавление другого в переменную PATH решило проблему «Невозможно открыть включаемый файл».

Если вы используете MSVC, запускали ли вы configure и nmake из командной строки Visual Studio? У нас были проблемы при использовании пустой командной строки Windows, потому что VS добавляет много временных переменных среды в процесс настройки.

Удачи

person Community    schedule 01.02.2009
comment
да, я использовал командную строку Visual Studio, я добавил bin в PATH (это в значительной степени данность), но мне также пришлось добавить lib в PATH (для dll), теперь я попытаюсь добавить include тоже, чувак, что за беспорядок. - person hasen; 02.02.2009

Установите полный Qt SDK для Windows, который включает Qt 4.6 SDK, Qt Creator 1.3 и MinGW.

Он также установит средство запуска «Командная строка Qt», которое вы можете использовать для создания приложений Qt из командной строки.

Я уверен, что вы лучше знакомы с MSVC, чем с MinGW, как и я (я использовал MSVC 6.0 — MSVC# 2008 для разработки приложений .NET).

Но попробуйте MinGW с Qt, и я думаю, что это лучше в долгосрочной перспективе. Я также занимаюсь разработкой на C++ для Linux, поэтому знакомство с MinGW будет полезно для вас при кросс-платформенной разработке на C++/Qt.

Дополнительные сведения см. в разделе Установка. Qt 4.6 SDK для Windows.

person Hendy Irawan    schedule 06.01.2010

Qmake генерирует Makefile из файла *.pro, расположенного в текущем каталоге. Он имеет скомпилированный путь qt. Введите «qmake -v», чтобы увидеть его. Вы не можете переместить каталог qt после его компиляции. Если вы не переместили его, попробуйте сначала установить Qt, следуя инструкциям из файла INSTALL. Удачи.

person Jacek Ławrynowicz    schedule 01.02.2009
comment
Вы можете переместить папку Qt после ее компиляции. См. вопрос SO Изменить путь установки Qt после сборки и RelocationTricks вики-страница проекта qt-msvc-installer . - person Piotr Dobrogost; 16.01.2011

Версия Qt с открытым исходным кодом не предоставляет профили (mkspecs в терминах qt), поэтому qmake может генерировать make-файлы, совместимые с nmake (msvc).

Вы должны использовать mingw/gcc.

person Community    schedule 01.02.2009