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

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

Я редко пишу на 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
19.02.2013, 08:17
    #38156752
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
19.02.2013, 09:38
    #38156821
scymaks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
White Owl,

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

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

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

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

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

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

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

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

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

В одном из под каталогов vc есть файл vcvars.bat, в котором лежат все переменные среды, которые надо выставить, чтобы работали утилиты командной строки. Его можно запускать напрямую или использовать его как шаблон.
...
Рейтинг: 0 / 0
19.02.2013, 11:56
    #38157095
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
Да еще.
Qt самому собрать вовсе не обязательно.
Если используешь QCreator, nmake не нужен, у него своя система сборки.
...
Рейтинг: 0 / 0
19.02.2013, 18:13
    #38157861
scymaks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
Так, после почти 7 часов сборки, nmake успешно отработал. Что теперь надо сделать?
...
Рейтинг: 0 / 0
19.02.2013, 19:08
    #38157930
scymaks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
19.02.2013, 21:24
    #38158088
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
20.02.2013, 07:02
    #38158353
scymaks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
20.02.2013, 07:13
    #38158356
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
20.02.2013, 07:40
    #38158373
scymaks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
20.02.2013, 12:22
    #38158720
kamre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
scymaks,

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

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

К тому же, нужно же знать как устроен true way.
...
Рейтинг: 0 / 0
20.02.2013, 19:34
    #38159699
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
20.02.2013, 19:37
    #38159703
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
scymakskamre,

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

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

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

Такой подход не всегда применим.
...
Рейтинг: 0 / 0
20.02.2013, 23:27
    #38159887
kamre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
White Owltrue way не использует MSVS.
В true way, ты берешь MinGW версию, берешь QtCreator, и наслаждаешься.
true way это сборка через CMake (или хотя бы qmake), чтобы не зависеть от IDE. А потом уже генерпция solution для MSVC и разработка, все-таки эта IDE пока самая нормальная для C++. Под MinGW интеграция с отладчиком что у QtCreator, что у Eclipse/Netbeans кривая и тормозная по сравнению с MSVC.
...
Рейтинг: 0 / 0
21.02.2013, 10:32
    #38160242
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
21.02.2013, 10:33
    #38160246
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
White OwlЯ не работаю с VS и не знаю как там задаются библиотеки.


Да точно так же, как и везде -- INCLUDE, LIB, две переменные.
...
Рейтинг: 0 / 0
21.02.2013, 19:04
    #38161325
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
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
21.02.2013, 19:18
    #38161343
MVSC++ 2010 express и QT 4.8
White OwlОтладчик это костыль для студентов и в реальной жизни не применим.
А хотя бы в общих словах, почему?
Я им тоже редко пользуюсь, но бывает полезен.
...
Рейтинг: 0 / 0
21.02.2013, 21:58
    #38161486
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVSC++ 2010 express и QT 4.8
в общих словахWhite OwlОтладчик это костыль для студентов и в реальной жизни не применим.
А хотя бы в общих словах, почему?потому что, то, что встроено в креатор - дебаггером не называется, а студией White Owl не пользуется ну и религия ещё, конечно ))
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / MVSC++ 2010 express и QT 4.8 / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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