crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Подключение библиотеки crashrpt к Qt5.4.0(VS 2010)
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Trisch Дата 19.2.2015, 15:45
  Да, скорей всего.
После полной пересборки библиотеки и проекта все заработало.
Iron Bug Дата 19.2.2015, 8:48
 
Цитата(Trisch @ 18.2.2015, 15:42) *
Проверил при помощи depends файлы .h и .lib

Выдало такую ошибку:
Error: At least one file was not a 32-bit or 64-bit Windows module.

да, она не жрёт lib-файлы. только dll-ки. попробуй так:
Цитата
dumpbin.exe -headers foo.lib

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

я подозреваю, что у тебя каким-то образом получилась несовместимость юникода и не-юникода. одна часть собралась с юникодом, а другая - без него.
Trisch Дата 18.2.2015, 13:42
  Проверил при помощи depends файлы .h и .lib

Выдало такую ошибку:
Error: At least one file was not a 32-bit or 64-bit Windows module.
Iron Bug Дата 18.2.2015, 12:39
  -MT - это статическая линковка стандартных библиотек. -MD - динамическая. но обычно если возникает такой конфликт, то линковщик ругается на то, что некоторые функции определены дважды и это выглядит по-другому.
а тут он не нашёл нужной функции в библиотеках. посмотри каким-нить Depends'ом, что экспортирует библиотека и чего ей не хватает.

и да, -Zc:wchar_t - это не юникод, это просто поддержка wchar_t как нативного типа. а юникод определяется (если правильно помню) определением макроса _UNICODE.
Trisch Дата 18.2.2015, 11:43
  А может это быть из за того библиотека просит для зборки проекта, такие параметры как -MT -DEBUG
А проект соберается примерно с такими параметрами:
cl -c -nologo -Zm200 -Zc:wchar_t -O2 -MD -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG


хотя я прописал в .pro
QMAKE_CFLAGS_RELEASE += -O2 -MT -DEBUG
Trisch Дата 18.2.2015, 10:24
 
Цитата(Iron Bug @ 18.2.2015, 9:45) *
а у тебя кодировка юникодовская? судя по названию, эта функция требует юникод.
ещё битность можешь проверить. иногда не линкуется из-за разных настроек битности.


Да, уникодная, UTF-8.

Юитность это 32, 64. Ну я библиотеку пересобирал тем же компилятором который использует Qt, думаю тут тоже все норм.
Iron Bug Дата 18.2.2015, 9:45
  а у тебя кодировка юникодовская? судя по названию, эта функция требует юникод.
ещё битность можешь проверить. иногда не линкуется из-за разных настроек битности.
Trisch Дата 17.2.2015, 18:30
  Как подключить библиотеку crashrpt к Qt5.4.0(VS 2010)?

Я пытался подключить библиотеку примерно таким образом:
Цитата
LIBS += -L"C:/путь/CrashRpt/lib"
LIBS += CrashRpt1402.lib CrashRptProbe1402.lib


Но в итоге получаю примерно такие ошибки:

Цитата
main.obj:-1: error: LNK2019: unresolved external symbol _crInstallW@4 referenced in function _main
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 11:55