QT下编译的总是显示错误?
我用的是QT的SDK 总是显示错误。
main.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
F:\sm\mqapi\include\mqapi.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
main.cpp(16) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
e:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(234) : 参见“fopen”的声明
main.cpp(42) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
e:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(371) : 参见“sprintf”的声明
正在创建库 debug\test.lib 和对象 debug\test.exp
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QByteArray::~QByteArray(void)" (__imp_??1QByteArray@@QAE@XZ),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl qWinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int,int &,class QVector<char *> &)" (?qWinMain@@YAXPAUHINSTANCE__@@0PADHAAHAAV?$QVector@PAD@@@Z),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: char * __thiscall QByteArray::data(void)" (__imp_?data@QByteArray@@QAEPADXZ),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QString::~QString(void)" (__imp_??1QString@@QAE@XZ),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QByteArray __thiscall QString::toLocal8Bit(void)const " (__imp_?toLocal8Bit@QString@@QBE?AVQByteArray@@XZ),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromWCharArray(unsigned short const *,int)" (__imp_?fromWCharArray@QString@@SA?AV1@PBGH@Z),该符号在函数 _WinMain@16 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QBasicAtomicInt::deref(void)" (__imp_?deref@QBasicAtomicInt@@QAE_NXZ),该符号在函数 "public: __thiscall QVector<char *>::~QVector<char *>(void)" (??1?$QVector@PAD@@QAE@XZ) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QBasicAtomicInt::operator!=(int)const " (__imp_??9QBasicAtomicInt@@QBE_NH@Z),该符号在函数 "public: void __thiscall QVector<char *>::detach(void)" (?detach@?$QVector@PAD@@QAEXXZ) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void * __cdecl qMemSet(void *,int,unsigned int)" (__imp_?qMemSet@@YAPAXPAXHI@Z),该符号在函数 "public: __thiscall QVector<char *>::QVector<char *>(int)" (??0?$QVector@PAD@@QAE@H@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QBasicAtomicInt & __thiscall QBasicAtomicInt::operator=(int)" (__imp_??4QBasicAtomicInt@@QAEAAV0@H@Z),该符号在函数 "public: __thiscall QVector<char *>::QVector<char *>(int)" (??0?$QVector@PAD@@QAE@H@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static void __cdecl QVectorData::free(struct QVectorData *,int)" (__imp_?free@QVectorData@@SAXPAU1@H@Z),该符号在函数 "public: static void __cdecl QVectorTypedData<char *>::free(struct QVectorTypedData<char *> *,int)" (?free@?$QVectorTypedData@PAD@@SAXPAU1@H@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl qBadAlloc(void)" (__imp_?qBadAlloc@@YAXXZ),该符号在函数 "private: struct QVectorData * __thiscall QVector<char *>::malloc(int)" (?malloc@?$QVector@PAD@@AAEPAUQVectorData@@H@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static struct QVectorData * __cdecl QVectorData::allocate(int,int)" (__imp_?allocate@QVectorData@@SAPAU1@HH@Z),该符号在函数 "private: struct QVectorData * __thiscall QVector<char *>::malloc(int)" (?malloc@?$QVector@PAD@@AAEPAUQVectorData@@H@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static struct QVectorData * __cdecl QVectorData::reallocate(struct QVectorData *,int,int,int)" (__imp_?reallocate@QVectorData@@SAPAU1@PAU1@HHH@Z),该符号在函数 "private: void __thiscall QVector<char *>::realloc(int,int)" (?realloc@?$QVector@PAD@@AAEXHH@Z) 中被引用
qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl qt_assert(char const *,char const *,int)" (__imp_?qt_assert@@YAXPBD0H@Z),该符号在函数 "private: void __thiscall QVector<char *>::realloc(int,int)" (?realloc@?$QVector@PAD@@AAEXHH@Z) 中被引用
debug\test.exe : fatal error LNK1120: 15 个无法解析的外部命令
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"e:\QtSDK\Desktop\Qt\4.8.0\msvc2010\include" -I"." -I".." -I"..\src" -I"..\include" -I"e:\QtSDK\Desktop\Qt\4.8.0\msvc2010\include\ActiveQt" -I"debug" -I"e:\QtSDK\Desktop\Qt\4.8.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\main.obj.6000.63.jom
link /LIBPATH:"e:\QtSDK\Desktop\Qt\4.8.0\msvc2010\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /MANIFEST /MANIFESTFILE:"debug\test.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:debug\test.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\test.exe.6000.1157.jom
E:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debug
jom: F:\sm\mqapi\test\Makefile.Debug [debug\test.exe] Error 1120
[解决办法]
简直了!
你是不是直接编译拿来的别人的工程呢
[解决办法]
把所有中文注释全部删掉后试试看,那里面估计一大堆乱码吧