Russian Qt Forum

Qt => Общие вопросы => Тема начата: spectre71 от Июль 26, 2009, 14:30



Название: не линкуется QString::toWCharArray
Отправлено: spectre71 от Июль 26, 2009, 14:30
QT 4.5.2
Windows XP
VS 2005

Не линкуется QString::toWCharArray и QString::fromWCharArray
Ошибка линкера:

Цитировать
1>sb_pipeline2.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall QString::toWCharArray(wchar_t *)const " (__imp_?toWCharArray@QString@@QBEHPA_W@Z) referenced in function "private: void __thiscall sb_pipeline2::on_testButton_9_clicked(void)" (?on_testButton_9_clicked@sb_pipeline2@@AAEXXZ)

В чем проблема?


Название: Re: не линкуется QString::toWCharArray
Отправлено: lit-uriy от Июль 26, 2009, 15:52
может это как-то определяется ключами конфигурации, типа совместимость с STL?


Название: Re: не линкуется QString::toWCharArray
Отправлено: Rcus от Июль 26, 2009, 16:01
Я думаю скорее несоответствие флагов компилятора при сборки Qt и приложения, у msvc флаг /Zc:wchar_t- отключает определение wchar_t как встроенного типа.


Название: Re: не линкуется QString::toWCharArray
Отправлено: spectre71 от Июль 26, 2009, 16:15
Я думаю скорее несоответствие флагов компилятора при сборки Qt и приложения, у msvc флаг /Zc:wchar_t- отключает определение wchar_t как встроенного типа.
Именно так
В либах:
?fromWCharArray@QString@@SA?AV1@PBGH@Z
У меня в *.obj:
?fromWCharArray@QString@@SA?AV1@PB_WH@Z

Короче беда!
Если я ставлю флаг /Zc:wchar_t-, то у меня не линкуется xercesc (для него этот флаг должен быть выключен!)


Название: Re: не линкуется QString::toWCharArray
Отправлено: Rcus от Июль 26, 2009, 16:21
Значит нужно пересобрать одну из библиотек (для Qt настройки компилятора хранятся в mkspecs/*/qmake.conf: QMAKE_CFLAGS), для xerces не знаю