Qt Windows下的exe执行文件中获取exe的版本号遇到的error

最近在Qt中写一个获取exe版本号的小程序中遇到了一个疑问,纠结了很久。

一开始,从错误信息中,以为是QString和string类型的转换出了什么问题,后才查阅了很多资料才知道找到了解决办法

error如下代码

原因:Qt默认Built没有把wchar_t作为内建类型,才导致的这个link error


环境:

Qt5.2.0+VS2012



error:

1>getversion.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::basic_string,class std::allocator > __thiscall QString::toStdWString(void)const " (__imp_?toStdWString@QString@@QBE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@XZ),该符号在函数 "public: class QString __thiscall GetVersion::GetFileVertion(class QString)" (?GetFileVertion@GetVersion@@QAE?AVQString@@V2@@Z) 中被引用
1>C:\Users\Administrator\Desktop\GetVersion001\GetVersion\Win32\Debug\\GetVersion.exe : fatal error LNK1120: 1 个无法解析的外部命令


解决:

在项目属性/配置属性/C/C++/语言 中,将WChar_t视为内置类型改成“”是“”

Qt Windows下的exe执行文件中获取exe的版本号遇到的error_第1张图片


你可能感兴趣的:(Qt)