truncated adapter(vs不能编译qt)
本文目录
vs不能编译qt
1. 建立环境变量QMAKESPEC win32-msvc2011 // 注意QTDIR S:\QT\4.8.4 // Qt的安装目录Path S:\QT\4.8.4\bin;注意: QMAKESPEC 还是 win32-msvc2011 因为如果要改成win32-msvc2012,需要改很多相关的配置。又麻烦又不安全。而且使用win32-msvc2011并不影响我们的结果。2. 修改 mkspecs\win32-msvc2011\qmake.conf 将 QMAKE_COMPILER_DEFINES += _MSC_VER=1600 WIN32 当中的1600改成1700QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-改为QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t3. 在开始菜单中找到 VS2012 x86 Native Tools Command Prompt 并运行这一步非常简单但很重要,一定要选择VS2012目录下的bat文件4. 在控制台中,切换到Qt的安装目录下。使用如下参数进行配置configure.exe -platform win32-msvc2011 -opensource -debug-and-release -shared -qt-sql-sqlite -plugin-sql-sqlite -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qmake -process -rtti -dbus -webkit -script -scripttools -no-dbus5. nmake 开始编译。 不过在编译过程中会遇到几个错需要手动修改一下代码。6. 第一个错误如下:.\wtf/HashSet.h(180) : error C2664: ’std::pair::pair(const std::pair &)’ : cannot convert parameter 1 from ’std::pair’ to ’const std::pair &’在Qt的Src目录搜索这个HashSet.h将180行所在的函数以及它下面的函数用下面的代码替换:templateinline pair《typename HashSet::const_iterator, bool》 HashSet::add(const ValueType &value){auto p= m_impl.add(value);return make_pair(typename HashSet::const_iterator(p.first), p.second);}templatetemplateinline pair《typename HashSet::iterator, bool》HashSet::add(const T& value){typedef HashSetTranslatorAdapter Adapter;typedef typename HashSet::iterator iter_type;auto& temp = m_impl.template addPassingHashCode(value, value);return make_pair((iter_type)temp.first, temp.second);}7. 继续 nmake 遇到第二个错误platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constantplatform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion这个错误的原因是因为代码里面的非英文的引号造成的。原始的错误代码如下:return WEB_UI_STRING("Look Up “”", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));大家注意 单词前后的引号。就是它造成编译报错。修改成下面的代码return WEB_UI_STRING("Look Up \"\"", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));8. 再次nmake,好了到这里为止,就剩下漫长的等待了。我一般是睡觉之前编译,一晚上的时间足够了。9. 补充,有个开源工具叫jom,也是qt官方的,它支持多核编译,可以大大加快编译速度。 使用的方法也很简单jom –j 8 你有几个核就写几。我是8个核注意最后两个DLL是VS2012的运行时库,说明我们已经编译成功了!
weblogic 启动问题,高手帮忙!!!
weblogic.common.ResourceException: Io 异常: The Network Adapter could not establish the connection问题已经出来了!
更多文章:
vba变量类型(在VBA中,如果没有声明或用符号来定义变量的数据类型,变量的数据类型为( ))
2024年7月21日 11:21
jspinclude的用法(include用法及搭配是什么)
2024年6月28日 18:08
program filesx86可以删除吗(电脑c盘里的Program Files里的文件那些可以删除)
2024年7月14日 16:18
phpmyadmin添加字段(phpMyAdmin 给表加字段)
2024年7月24日 01:29
matlab2022下载地址(matlab2022a为什么不能下载)
2024年7月2日 11:48
ppt模板下载包图网(包图网上下载好的ppt模板怎么保存在电脑里,在包图网我的下载里可以看到,可是在电脑文件里为什么没有)
2024年9月2日 18:01
uniprotkb数据库教程(在c语言中,如何提取一个txt数据库文件中的信息)
2024年7月20日 09:48
instrument形容词(musical instrument是什么意思)
2024年5月12日 21:01
getparameter中文乱码(java 接收get请求带中文乱码,已经更改字符编码 可是不生效)
2024年7月24日 05:50