Qt 遗珠(之一)

Qt 遗珠(之一)

_WinMain@16链接错误

这是用MSVC比较容易出现的错误(MinGW对main、winMain的处理方式与msvc不同,故不会出现这种问题)

"LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup".

涉及到链接时的子系统选择和入口函数选择。简单且常规的做法:当链接windows子系统,链接Qt提供的qtmain.lib库。当使用qmake之外的工具构建Qt程序时,明白这点很重要。

"qtmain.lib(qtmain_win.obj): error LNK2019: unresolved external symbol '_main', referenced in function '_winMain@16'"

链接时出现 _main 入口找不到,需要首先检查有没有main函数。比如pro文件内 SOURCES += 不小心少些了+号

QString 与 TCHAR 转换

http://lists.trolltech.com/qt-interest/2005-10/thread00134-0.html

来自:"Schumacher, Gordon"

What I've got in my code looks like this:

#ifdef UNICODE

#define QStringToTCHAR(x) (wchar_t*) x.utf16()

#define PQStringToTCHAR(x) (wchar_t*) x->utf16()

#define TCHARToQString(x) QString::fromUtf16((x))

#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))

#else

#define QStringToTCHAR(x) x.local8Bit().constData()

#define PQStringToTCHAR(x) x->local8Bit().constData()

#define TCHARToQString(x) QString::fromLocal8Bit((x))

#define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))

#endif


你可能感兴趣的:(Qt 遗珠(之一))