Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT сборка проекта компилятором MSVC2008 / 17 сообщений из 17, страница 1 из 1
31.03.2015, 14:37
    #38922535
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
проект - myproject
Собрать получается, но на другом компьютере не запускается. DLL-ки от QT вместе поставляю,кроме тех которые идут от MSVC2008(незнаю какие именно нужны,пробовал все на msvc... с папки sytem32).
В самом MSCV2008 могу скомилировать проект( не QT-проект ) так чтоб не требовала dll на других компах(меняю /MD на /MT).
но с QT проектом не получается, нашел в Qt\4.8.6\mkspecs\win32-msvc2008 файл qmake.conf, поменял там /MD на /MT, (затем удалил папку сборки build- myproject -VS2008-Release). после этого во время компиляции выходят ошибки.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
msvcrt.lib(ti_inst.obj):-1: ошибка: LNK2005: "private: __thiscall 
type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 
уже определен в LIBCMT.lib(typinfo.obj)

msvcrt.lib(ti_inst.obj):-1: ошибка: LNK2005: "private: class type_info & __thiscall 
type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 
уже определен в LIBCMT.lib(typinfo.obj)

LIBCMT.lib(crt0init.obj):-1: предупреждение: LNK4098: библиотека 
по умолчанию "msvcrt.lib" противоречит использованию 
других библиотек; используйте параметр /NODEFAULTLIB:library  //это предупреждение, не ошибка

release\myproject.exe:-1: ошибка: LNK1169: обнаружен многократно определенный символ - один или более




Если можно собрать так чтоб не требовало библ MSVC2008, но при этом необходимо чтоб dll от QT подключались динамически.если так не получается то какие dll от MSVC2008 нужно поставить в комплекте(например в MSVC2010 msvcr100.dll и т.д.)
...
Рейтинг: 0 / 0
31.03.2015, 14:41
    #38922542
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
проект на других компах не требует никаких dll(я просто сам так решил), вместо этого выходит сообщение

приложение не было запущено,поскольку оно неправильно настроено.полная установка приложения поможет решить данную проблему.

в то время как на родном компе где был скомпилирован проект запускается после добавления к нему нужных библ от QT
...
Рейтинг: 0 / 0
31.03.2015, 14:48
    #38922563
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежник,

Тебе очевидно НЕ НАДО подключать LIBCMT.lib
Это статический рантайм С, а тебе нужен динамический (поскольку используешь .dll)
...
Рейтинг: 0 / 0
31.03.2015, 14:51
    #38922569
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
КартежникЕсли можно собрать так чтоб не требовало библ MSVC2008, но при этом необходимо чтоб dll от QT подключались динамически.если так не получается то какие dll от MSVC2008 нужно поставить в комплекте(например в MSVC2010 msvcr100.dll и т.д.)

Это невозможно. Если приложение использует хотя бы одну DLL (ты используешь хотя бы QT в виде DLL), то рантайм C должен быть тоже в виде DLL, а не статический.


Какие dll от MSVC2008 тебе нужны -- легко выяснить с помощью утилиты depends (dependency walker).
Только учти, что разрадность (32/64bit) dependency walker должна быть такой же, как и у твоего приложения.
...
Рейтинг: 0 / 0
01.04.2015, 06:48
    #38923279
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
MasterZiv,

спасибо, хорошая прога.
используя MSVC2008. показала msvcr90.dll, msvcp90.dll, загрузил их. потом начала показывать что нету devmgr.dll,msjava.dll, их тоже загрузил но все равно не идет ошибка.

используя MSVC2010 требует только msvcp100.dll, msvcr100.dll их поставил и заработало. ничего не требовала дополнительно, ни devmgr.dll,ни msjava.dll.

студия MSVC2008 на 32битной, MSVC2010 на 64битной установлены. может из за этого?
...
Рейтинг: 0 / 0
01.04.2015, 11:27
    #38923569
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежникстудия MSVC2008 на 32битной, MSVC2010 на 64битной установлены. может из за этого?

Если имеется в виду битность операционки, то нет. Т.е. битность важна, но не этот её аспект.
...
Рейтинг: 0 / 0
01.04.2015, 11:38
    #38923598
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
MasterZivКартежникстудия MSVC2008 на 32битной, MSVC2010 на 64битной установлены. может из за этого?

Если имеется в виду битность операционки, то нет. Т.е. битность важна, но не этот её аспект.
да это точно, оказается в данном случае у меня и тот и другой компилируется в 32битное приложение. но заметил что на ОС 32бита проги запускаются, а на ОС 64бит не запускается та которая скомпилировано в 2008
...
Рейтинг: 0 / 0
01.04.2015, 12:32
    #38923698
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
КартежникMasterZivпропущено...


Если имеется в виду битность операционки, то нет. Т.е. битность важна, но не этот её аспект.
да это точно, оказается в данном случае у меня и тот и другой компилируется в 32битное приложение. но заметил что на ОС 32бита проги запускаются, а на ОС 64бит не запускается та которая скомпилировано в 2008

А я тебе сказал, что битность ОС не имеет значения, а битность приложения -- имеет (я об этом ещё ранее писал).
...
Рейтинг: 0 / 0
01.04.2015, 20:58
    #38924269
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
MasterZiv,

ну решил делать 2010, просто в 2008 выходило меньше по размеру.
...
Рейтинг: 0 / 0
01.04.2015, 22:34
    #38924314
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежникиспользуя MSVC2008. показала msvcr90.dll, msvcp90.dllvcomp90.dll, возможно ещё надо, у меня требовало, остальное - ересь какая то, имхо.

Стесняюсь спросить, а Qt для 2008й и 2010й разные ведь у тебя, правда? ))
...
Рейтинг: 0 / 0
01.04.2015, 23:32
    #38924342
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
egorychКартежникиспользуя MSVC2008. показала msvcr90.dll, msvcp90.dllvcomp90.dll, возможно ещё надо, у меня требовало, остальное - ересь какая то, имхо.

Стесняюсь спросить, а Qt для 2008й и 2010й разные ведь у тебя, правда? ))

Да, я забыл про это спросить...
...
Рейтинг: 0 / 0
02.04.2015, 06:25
    #38924395
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
egorych,

да разные, и на разных компах стоят
...
Рейтинг: 0 / 0
02.04.2015, 09:44
    #38924514
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежникда разные, и на разных компах стоятэто хорошо :-)
Резюмируя, для 2008й студии у меня требовало, помимо кутешных библиотек эти 3 длли: msvcr90.dll, msvcp90.dll и vcomp90.dll
Ну и всё должно быть собрано одинаково в релизе ( или в дебаге ) - и приложение, и Qt ( немного добавлю капитана-очевидность ) ))
...
Рейтинг: 0 / 0
02.04.2015, 11:03
    #38924648
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
egorych,

ок спасибо попробую
...
Рейтинг: 0 / 0
03.04.2015, 10:46
    #38925984
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
egorychКартежникда разные, и на разных компах стоятэто хорошо :-)
Резюмируя, для 2008й студии у меня требовало, помимо кутешных библиотек эти 3 длли: msvcr90.dll, msvcp90.dll и vcomp90.dll
Ну и всё должно быть собрано одинаково в релизе ( или в дебаге ) - и приложение, и Qt ( немного добавлю капитана-очевидность ) ))
попробовал но все равно не получается запустить на других компах(не на всех).
можно узнать откуда вы копируете msvcr90.dll, msvcp90.dll и vcomp90.dll. в папке system32 я их не нашел. взял из папки C:\WINDOWS\WinSxS. но там много разных вариантов этих библиотек.
...
Рейтинг: 0 / 0
03.04.2015, 12:03
    #38926114
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежник,

Необходимые для работы программы библиотеки находятся в дистрибутиве visual studio в парке redistributable.
Абсолютно то же самое происходит c библиотека от QT.
...
Рейтинг: 0 / 0
03.04.2015, 12:21
    #38926144
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT сборка проекта компилятором MSVC2008
Картежникможно узнать откуда вы копируете msvcr90.dll, msvcp90.dll и vcomp90.dllотсюда: c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\ и отсюда c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.OPENMP\

ну и поиск по диску рулит.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT сборка проекта компилятором MSVC2008 / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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