Проект QT не будет ссылаться на функции, которые имеют std :: wstring в качестве параметра. - PullRequest
2 голосов
/ 24 сентября 2011

У меня есть dll VS2010, которую я пытаюсь подключить к проекту QT. Я использую QT версии 4.7.4, которую я собрал, используя MSVC2010. QT Creator также использует MSVC2010 для компиляции.

Я неявно создаю ссылки, включая файлы заголовков, ссылаясь на .lib в файле pro и помещая .dll в папку исполнения.

Сейчас я использую только функции из одного класса из библиотеки DLL. Некоторые функции ссылаются, некоторые нет. Ходок за зависимостями подтверждает, что все они отлично экспортируются.

Функции, которые не связываются, принимают в качестве параметра std :: wstring или std :: wstring *.

Что-то переопределяет где-то wstring? Любые идеи будут полезны.

1 Ответ

1 голос
/ 26 сентября 2011

Так что, если у кого-то еще возникнет эта проблема, я только что разобрался.

Компоновщик сломался, потому что Visual Studio по умолчанию отображает wchar_t в __wchar_t, а QT - нет.

Исправление: Перейдите в Настройки проекта -> Свойства конфигурации -> C / C ++ -> Язык и снимите флажок свойство «Обрабатывать WChar_t как встроенный тип».

...