![]() |
|
|
![]()
|
|
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Здравствуйте!
Вообщем нужно подключить PhysX к проекту Qt, дык вот незадача, PhysX не компилится под MinGW, поэтому в Qt Creator он не заработал. Я скачал Qt opensource для VS2010, add in. Qt заработал, но после добавления функций physx, проект не компилится, вылетает с предупреждением о конфликте библиотек libcmt.lib и MSVCRTD, и валятся ошибки совпадения определений. В гугле только то, что нужно поменять режим использования библиотек с динамического на статический /MT, /MTd. Не помагает, пару одинаковых определений и варнинги остаются.Да и зачем, если по отдельности проекты WinApi+PhysX и Qt компилятся и работают с опцией /MD .Я вроде гдето мельком читал что у PhysXа есть #define флаг не включать стандартные обьяления.К сожалению вкладка потерялась и я немогу найти этот флаг. Еще можно использовать исключение стандартных библиотек /NODEFAULTLIB:libname. При отключении libcmt.lib никаких совпадений определений нет, но падает Qt с молитвой на недостающую библиотеку libcmt.lib. Из выходов из ситуации можно отметить пересборку Qt на библиотеку msvcr, что у меня нифига не получается, или чот делать с PhysXом, но это врятле потомучто исходники очень грамотно запутанны)). Помогите пожалуйсто с проблемой, уже несколько дней немогу начать кодить:( Ошибки в студии(ю):
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Ребят, ктото знает чья и для чего либа libcmt.lib, а также либа msvcrt.lib. Странно что при статически собранном Qt, прога Qt + PhysX в сборке MD(хотя читое qt компилится в MT) c флагами /NODEFAULTLIB:"libcmt.lib, msvcrt.lib" ругается на что что неможет найти libcmt.lib, это если компилишь под релиз, а если под дебаг, и с флагами /NODEFAULTLIB:"libcmtd.lib, msvcrtd.lib" то проге уже нехватает msvcrtd. Короче то ему libcmt для релиза подавай, то msvcrt для дебага. отключаешь одну которую не требует, вылазит ошибка mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in moc еслиб еще расчехлить, какие либы использует PhysX, может это изза него бока. Мне нужен ответ: Заработает Qt c PhysX или нет, ктото знает ответ????
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Причем тут Qt? Возможно, твой physx слинкован статически со студийными библиотеками. Может в мануале написано, как компилировать программы на PhysX с помощью MSVC?
|
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Ну незнаю, пример чисто PhysXа на winapi работает, причом в MD. В поставку PhysX SDK 3.2.2 входят примеры для VS, и все работает гуд. А вот c qt ни в какую. Еще когда стоял Qt динамический, по одиночке qt программа, и PhysX winapi(c нового проекта), работали гуд. но вместе они ни как не хотят. И ошибки про совпадение имен вылезают после добавления кода создания фундамента PhysX.Я уже думал что нужно использовать статический Qt, собрал статически всё гуд, статическое приложение запускается что на /MT что на /MD
что парадоксально, ну я в это не вникаю, с /MT Вываливаются ошибки совпадения имен, с /MD только ошибка о '_ITERATOR_DEBUG_LEVEL', я немогу никак его запустить. причом в этом коде, создание контекста физикса не включем в исполняемую функцию, а ошибки валятся. Вот если его закоментировать (функцию initPhysX3() ) прога запускается поэтому тут уже не рун тайм ошибка а какаято хрень непонятная с этими либами. Конкретно '_ITERATOR_DEBUG_LEVEL' лезет с PhysX3ExtensionsCHEKED Точно Qt собранный в VS2010 не будет содержать в себе ничего minGWшного, PhysX не работает с minGW, вот почему я грешу на Qt. Думал не компилишься падла под minGW, откомпилю в студии, а в итоге хрен там, одни расстройства. Либо уходить от Qt или же заставить заработать эти две великие весчи вместе!!!!!!! Помогите кто-нибудь, может тему в общие вопросы С++ переместить.
Это сообщение отредактировал(а) Vetos - 10.11.2012, 22:14 -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Все вопрос решен, все оказалось банально проще, правда незнаю к чему это в дальнейшем приведет. При подключении не CHECKED а DEBUG библиотек ошибки _ITERATOR_DEBUG_LEVEL нет, как и какихто совпадений имен. Кстати все равно незря поковырял Qt, в MSVC даже статический qt собирается с нестатическим физиксом, короче от физикса требует dllки а от Qt нет, это все благодаря тому что в настройках компилятора можно выбрать режим /MT /MD, а вот QtCreator в котором тож все заработало после добавления сборок qt под msvc, я такого переключателя не нашел, соответсвенно за 1000 ошибок в частности unknown platform. В MSVC при запуске в режиме /MT происходит тож самое, а при /MD нормально, хотя Qt подключается статическим а physx динамическим, уже можно уйти хотябы от qt'шных dll. Вот так вот бывает когда делаешь все по инструкции:(
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |