powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MVSC++ 2010 express и QT 4.8
25 сообщений из 25, страница 1 из 1
MVSC++ 2010 express и QT 4.8
    #38156743
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Может тема и избитая, но я раньше не работал так плотно со студией.

Я редко пишу на C++ , поэтому если что, не серчайте сильно.

Я поставил себе QT в F:\maks\lib\qt

Зашел в директорию F:\maks\lib\qt и выполнил:
Код: sql
1.
configure -platform win32-msvc2010



и получил много вывода и в конце увидел вот это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
...

Sources are in..............F:\maks\lib\qt
Build is done in............F:\maks\lib\qt
Install prefix..............F:\maks\lib\qt
Headers installed to........F:\maks\lib\qt\include
Libraries installed to......F:\maks\lib\qt\lib
Plugins installed to........F:\maks\lib\qt\plugins
Imports installed to........F:\maks\lib\qt\imports
Binaries installed to.......F:\maks\lib\qt\bin
Docs installed to...........F:\maks\lib\qt\doc
Data installed to...........F:\maks\lib\qt
Translations installed to...F:\maks\lib\qt\translations
Examples installed to.......F:\maks\lib\qt\examples
Demos installed to..........F:\maks\lib\qt\demos

Creating qmake...
execute: File or path is not found (nmake)
execute: File or path is not found (nmake)
Cleaning qmake failed, return code -1



Нормально ли что nmake не найден?

Создал в MVSC++ 2010 express проект с именем Tedt .

В Source Files добавил main.cpp с таким вот кодом:

Код: plaintext
1.
2.
3.
4.
5.
6.
#include <iostream>

int main(int argc, char ** argv) {
    std::cout << "Application without QT is running" << std::endl;
    return 0;
}



Запустил, всё работает. Ок.

Теперь иду в View -> Property Manager -> (Right click) -> Properties .

1. C/C++ > Additional Include Directories добавил F:\maks\lib\qt\include
2. Linker > Additional Library Directories добавил F:\maks\lib\qt\lib

Жму Ok .

Меняю код на такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#include <iostream>
#include <QtGui/QApplication>

int main(int argc, char ** argv) {
    std::cout << "Application with QT is running" << std::endl;

    QApplication app(argc, argv);
    return app.exec();
}



Никаких подчеркиваний что мол, что-то не так не было. Запускаю Build -> Rebuild Solution и получаю вывод:
Код: sql
1.
2.
3.
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z)



Где косяк?
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38156752
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks Нормально ли что nmake не найден? Нет.
configure только создал сценарии сборки библиотеки. Саму библиотеку еще надо собрать. Для этого надо либо nmake натравить на результат работы configure, либо запустить конфигуратор заново, но со специальным ключом который создаст файл проекта для VS.
Запусти configure /? и поищи там соответствующий ключ. Потом запустишь Студию, в ней откроешь проект и скомпилируешь его.
В итоге в lib каталоге должно появится с дюжину qt*.lib файлов.

scymaksТеперь иду в View -> Property Manager -> (Right click) -> Properties .

1. C/C++ > Additional Include Directories добавил F:\maks\lib\qt\include
2. Linker > Additional Library Directories добавил F:\maks\lib\qt\lib

Жму Ok .

Где косяк?Забыл собственно библиотеки добавить. В lib каталоге должны быть qtcoreX.lib, qtcoreXd.lib (X - 4 или 5) и так далее. Эти библиотеки надо упомянуть в списке используемых.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38156821
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Можно поподробнее, что значит "натравить на результат" ?

Сейчас добавил в PATH путь до cl.exe и nmake.exe каталог
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38156833
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksWhite Owl,

Можно поподробнее, что значит "натравить на результат" ?

Сейчас добавил в PATH путь до cl.exe и nmake.exe каталогПосле configure в катологе где ты его запускал должен появится файл Makefile, это стартовый файл сценария сборки. В этом же каталоге теперь надо запустить nmake, он возьмет первый найденный Makefile и начнет, подчиняясь ему, запускать cl.exe, link.exe и разные другие .exe нужные для сборки проекта.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38156839
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

я щас попробовал запустить cl.exe просто так, и наткнулся на ошибку "mspdb100.dll не был найден".

После запуска configure makefile не появляется.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38156867
kamre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
scymaks,

Зачем самому пересобирать Qt? Можно сразу для MSVS 2010 скачать: http://releases.qt-project.org/qt4/source/qt-win-opensource-4.8.4-vs2010.exe
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38157082
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,

по умолчанию vc ставится так, что не прописывает себя в пути, это надо делать руками.

Это сделано так, потому что это не очень и нужно, все тулзы запускаются из самой студии про полным путям, а также без этого нельзя было бы ставить на одну машину много разных версий vc.

В одном из под каталогов vc есть файл vcvars.bat, в котором лежат все переменные среды, которые надо выставить, чтобы работали утилиты командной строки. Его можно запускать напрямую или использовать его как шаблон.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38157095
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да еще.
Qt самому собрать вовсе не обязательно.
Если используешь QCreator, nmake не нужен, у него своя система сборки.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38157861
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, после почти 7 часов сборки, nmake успешно отработал. Что теперь надо сделать?
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38157930
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЗабыл собственно библиотеки добавить. В lib каталоге должны быть qtcoreX.lib, qtcoreXd.lib (X - 4 или 5) и так далее. Эти библиотеки надо упомянуть в списке используемых.

Это вот эти две штуки?
Код: sql
1.
2.
F:\maks\lib\qt\lib\QtCore4.dll
F:\maks\lib\qt\lib\QtCored4.dll



Добавить их куда нужно?
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158088
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksWhite OwlЗабыл собственно библиотеки добавить. В lib каталоге должны быть qtcoreX.lib, qtcoreXd.lib (X - 4 или 5) и так далее. Эти библиотеки надо упомянуть в списке используемых.

Это вот эти две штуки?
Код: sql
1.
2.
F:\maks\lib\qt\lib\QtCore4.dll
F:\maks\lib\qt\lib\QtCored4.dll



Добавить их куда нужно?dll - это уже скомпилированные рантайм библиотеки. А тебе нужны библиотеки компиляции. Ищи файлы с расширением .lib. Те-же имена, другое расширение.
Использовать надо только одну из библиотек. Первая это "release", вторая "debug". Соотвественно и используются. Добавляешь одну из них в список используемых библиотек в настройках проекта (дебаг или не дебаг решишь сам).
Кстати, если ты хочешь GUI, то надо еще QtGui4.lib или QtGui4d.lib
А вот когда будешь отдавать свое готовое творение на другую машину, то будешь копировать свой project.exe и все .dll
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158353
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

я правильно понимаю, что в итоге должно получиться так?

Код: sql
1.
2.
1. C/C++ > Additional Include Directories: F:\maks\lib\qt\include
2. Linker > Additional Library Directories: F:\maks\lib\qt\lib;F:\maks\lib\qt\lib\QtCore.lib;F:\maks\lib\qt\lib\QtGui.lib
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158356
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksWhite Owl,

я правильно понимаю, что в итоге должно получиться так?

Код: sql
1.
2.
1. C/C++ > Additional Include Directories: F:\maks\lib\qt\include
2. Linker > Additional Library Directories: F:\maks\lib\qt\lib;F:\maks\lib\qt\lib\QtCore.lib;F:\maks\lib\qt\lib\QtGui.lib

1 - да, 2 - не знаю.
Я не работаю с VS и не знаю как там задаются библиотеки. Но вообще-то, директории отдельно, библиотечные файлы отдельно.
И если задан каталог с библиотеками, то задавать полный путь до библиотеки уже не нужно.
Если собирать вручную, то это задавалось бы так:
link -oSuperProgram.exe <твои объектники> -LF:\maks\lib\qt\lib -lQtCore4 -lQtGui4
А как оно задается в менюшках VS - ищи.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158373
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, итог:

Код: sql
1.
2.
3.
1. C/C++ > Additional Include Directories: F:\maks\lib\qt\include
2. Linker > General > Additional Library Directories: F:\maks\lib\qt\lib
3. Linker > Input > Additional Dependencies: [студийные библиотеки];F:\maks\lib\qt\lib\QtCore.lib;F:\maks\lib\qt\lib\QtGui.lib
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158720
kamre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
scymaks,

чем только не занимаются люди, лишь бы нормальные системы сборки не использовать...
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38158911
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamre,

Так а что я ненормального-то делаю?

К тому же, нужно же знать как устроен true way.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38159699
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksWhite Owl, итог:

Код: sql
1.
2.
3.
1. C/C++ > Additional Include Directories: F:\maks\lib\qt\include
2. Linker > General > Additional Library Directories: F:\maks\lib\qt\lib
3. Linker > Input > Additional Dependencies: [студийные библиотеки];F:\maks\lib\qt\lib\QtCore.lib;F:\maks\lib\qt\lib\QtGui.lib

Работать не будет :)
Ты забыл что библиотеки имеют номер версии как часть имени файла.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38159703
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymakskamre,

Так а что я ненормального-то делаю?

К тому же, нужно же знать как устроен true way.true way не использует MSVS.
В true way, ты берешь MinGW версию, берешь QtCreator, и наслаждаешься.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38159757
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Опечатался. Теперь всё работает, - я это хотел сказать.

Такой подход не всегда применим.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38159887
kamre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owltrue way не использует MSVS.
В true way, ты берешь MinGW версию, берешь QtCreator, и наслаждаешься.
true way это сборка через CMake (или хотя бы qmake), чтобы не зависеть от IDE. А потом уже генерпция solution для MSVC и разработка, все-таки эта IDE пока самая нормальная для C++. Под MinGW интеграция с отладчиком что у QtCreator, что у Eclipse/Netbeans кривая и тормозная по сравнению с MSVC.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38160242
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. Linker > Additional Library Directories : F:\maks\lib\qt\lib;F:\maks\lib\qt\lib\QtCore.lib;F:\maks\lib\qt\lib\QtGui.lib


должно быть

F:\maks\lib\qt\lib

Библиотеки сами туда не зачем пихать, там нужны директории, каталоги, папки.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38160246
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЯ не работаю с VS и не знаю как там задаются библиотеки.


Да точно так же, как и везде -- INCLUDE, LIB, две переменные.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38161325
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamreWhite Owltrue way не использует MSVS.
В true way, ты берешь MinGW версию, берешь QtCreator, и наслаждаешься.
true way это сборка через CMake (или хотя бы qmake), чтобы не зависеть от IDE.У Qt есть qmake а значит CMake идет лесом.
kamreА потом уже генерпция solution для MSVC и разработка, все-таки эта IDE пока самая нормальная для C++.Ага, ага. Красивые иконки, неторопливые перерисовывания окошек, странное поддерживание стандартов, уникальные "стандартные" библиотеки, и абсолютная зависимость от одной ОС. Самая лучшая IDE, ага-ага.
kamreПод MinGW интеграция с отладчиком что у QtCreator, что у Eclipse/Netbeans кривая и тормозная по сравнению с MSVC.Отладчик это костыль для студентов и в реальной жизни не применим.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38161343
White OwlОтладчик это костыль для студентов и в реальной жизни не применим.
А хотя бы в общих словах, почему?
Я им тоже редко пользуюсь, но бывает полезен.
...
Рейтинг: 0 / 0
MVSC++ 2010 express и QT 4.8
    #38161486
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общих словахWhite OwlОтладчик это костыль для студентов и в реальной жизни не применим.
А хотя бы в общих словах, почему?потому что, то, что встроено в креатор - дебаггером не называется, а студией White Owl не пользуется ну и религия ещё, конечно ))
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / MVSC++ 2010 express и QT 4.8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]