Спасибо за ваши комментарии, я сделал это:
extern "C" __declspec(dllexport) int test(wchar_t* out)
{
wcscpy_s(out, MAX_PATH, L"Passed!"); // I'm using sys paths in my app,
// so MAX_PATH is ok for me
return 0;
}
Сторона Qt:
typedef int (*Test)(wchar_t*);
QLibrary *lib = new QLibrary("dllname");
lib->load();
.... dll load check ....
Test test = (Test) lib->resolve("test");
wchar_t s[MAX_PATH];
test(s);
QString name = QString::fromWCharArray(s);
Переменная «name» теперь должна быть «Passed!»
В справочнике классов QLibrary говорится только о поддержке
extern "C" __declspec(dllexport)
директива.
ОБНОВЛЕНО Спасибо @ MSalters