VS2013编译64位QT4.8.6源代码保姆流程

1 下载Visual Studio 2013 Ultimate版本并进行安装

软件安装管家或者其他途径都可以,自行百度下载安装

2 下载QT4.8

下载 qt-everywhere-opensource-src-4.8.6 版本的源代码,http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip

3 源码编译

第一步:
(1)修改E:\qt-everywhere-opensource-src-4.8.6\mkspecs\win32-msvc2013\qmake.conf

QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF
QMAKE_LFLAGS_DEBUG      = /DEBUG

替换成

QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG      = /DEBUG /INCREMENTAL:NO

(2)修改E:\qt-everywhere-opensource-src-4.8.6\src\3rdparty\webkit\Source\JavaScriptCore\wtf\HashSet.h

template<typename T, typename U, typename V>
inline pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
{
	return m_impl.add(value);
}

替换成

template<typename T, typename U, typename V>
inline pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
{
	typedef typename HashSet<T, U, V>::iterator iter_type;
   auto& p = m_impl.add(value);
   return make_pair((iter_type)p.first, p.second);
}

HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
    typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
    return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
}

替换成

HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
    typedef typename HashSet<Value, HashFunctions, Traits>::iterator iter_type;
    auto& p = m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
    return make_pair((iter_type)p.first, p.second);
}

(3)修改E:\qt-everywhere-opensource-src-4.8.6\src\3rdparty\webkit\Source\JavaScriptCore\wtf\MathExtras.h

#if COMPILER(MSVC) || (COMPILER(RVCT) && !(RVCT_VERSION_AT_LEAST(3, 0, 0, 0)))

// We must not do 'num + 0.5' or 'num - 0.5' because they can cause precision loss.
 static double round(double num)

替换成

#if (COMPILER(MSVC) && _MSC_VER < 1800) || (COMPILER(RVCT) && !(RVCT_VERSION_AT_LEAST(3, 0, 0, 0)))

// We must not do 'num + 0.5' or 'num - 0.5' because they can cause precision loss.
 static double round(double num)

#if COMPILER(MSVC)

 // The 64bit version of abs() is already defined in stdlib.h which comes with VC10
 #if COMPILER(MSVC9_OR_LOWER)
 inline long long abs(long long num) { return _abs64(num); }

替换成

#if COMPILER(MSVC) && _MSC_VER < 1800

 // The 64bit version of abs() is already defined in stdlib.h which comes with VC10
 #if COMPILER(MSVC9_OR_LOWER)
 inline long long abs(long long num) { return _abs64(num); }

(4)修改E:\qt-everywhere-opensource-src-4.8.6\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp

return WEB_UI_STRING("LookUp “<selection>”","Look Up context menu item with selectedword").replace("<selection>",truncatedStringForLookupMenuItem(selectedString));

替换成

return WEB_UI_STRING("LookUp \"<selection>\"", "Look Up context menu item withselected word").replace("<selection>",truncatedStringForLookupMenuItem(selectedString));

第二步:

在这里插入图片描述
进入Visual Studio Tools目录,打开 VS2013 x64 本机工具命令提示
输入命令:

set QTDIR=E:\qt-everywhere-opensource-src-4.8.6
set QMAKESPEC=win32-msvc2013
set PATH=%PATH%;%QTDIR%\bin
cd %QTDIR%

确保进入到 E:\qt-everywhere-opensource-src-4.8.6目录
输入命令:

configure -opensource -nomake demos -nomake examples -platform win32-msvc2013
y

等待执行完成后,大约一分钟:

在这里插入图片描述

根据提示输入:

nmake

然后进入到漫长的编译过程,大约需要20分钟到一个小时,看机器,挂机稍等

4 下载qt-vs-tools-msvc2013-2.1.1

将QT嵌入到VS2013中的插件。网上随便搜一下就有,下载后,直接安装,点击下一步即可。这个插件需要 等源码编译完成后 再安装。

5 配置QT

打开 QT VS TOOLS,进入 QT Options, 点击 Add,添加我们的 QT文件名及其对应 路径,默认路径设置为我们新添加的,完成配置。

在这里插入图片描述

6 测试QT工程

我们的QT是 x64 环境的,因此平台调整为 x64

在这里插入图片描述
假设从网上下载的QT工程无法编译通过,打开 QT VS TOOLS,点击 Convert Project to QT VS TOOLS Project,确认即可

在这里插入图片描述
如果还没有编译通过,请进入到 系统高级设置环境变量 ,检查是否存在 QTDIR环境变量,没有的话就手动加上

在这里插入图片描述
经过这一系列步骤后,我们的工程是可以编译通过的,但是代码可能仍旧存在一堆红色,然后也F12不到我们想要的代码,如果遇到这个问题,点击 项目–重新扫描解决方案 即可解决

在这里插入图片描述
至此,我们可以进行VS+QT的程序开发了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
VS2015是指Visual Studio 2015,它是由微软公司推出的一款集成开发环境(IDE),主要用于开发各种类型的应用程序。VS2015具有强大的功能,包括代码编辑器、调试器、图形化界面设计工具和版本控制等,能够提高开发效率和代码质量。 Qt4.8.6是指Qt开发框架的一个版本,Qt是一套跨平台的C++应用程序开发框架,能够快速地创建高质量的图形用户界面和功能丰富的应用程序。Qt4.8.6Qt框架的一个比较早期的版本,虽然现在已经有了更高版本的Qt,但它仍然被一些开发者广泛使用。 使用VS2015结合Qt4.8.6进行开发,可以将两者的优势结合起来,实现更多功能和更好的开发体验。VS2015提供了强大的开发工具和调试功能,能够帮助开发者更轻松地编写和调试Qt应用程序的代码。而Qt4.8.6则提供了丰富的自定义控件和图形界面设计工具,能够快速构建各种不同风格的界面。 在使用VS2015和Qt4.8.6进行开发时,可以使用VS2015的开发环境来编写和调试Qt应用程序的代码,同时利用Qt提供的工具和组件来创建界面和添加功能。这样可以提高开发效率,减少不必要的代码重复和错误。 总之,VS2015与Qt4.8.6结合使用,可以提供更好的开发体验和更丰富的功能选择,帮助开发者快速构建高质量的应用程序。当然,如果有更高版本的Qt可用,也可以考虑升级到最新版本,以获取更多的优化和新特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值