相关疑难解决方法(0)

如何为Visual Studio 2010构建Qt

我努力寻找一种方法,为使用Qt和Visual Studio 2010提供稳定的解决方案,因此在收集了所有信息和一些反复试验后,我想将我的解决方案写入指南.

问题,或者为什么不能使用预构建的二进制文件?

似乎使用为Visual Studio 2008构建的二进制文件可能在某些特殊情况下工作,但我发现它们无法工作.在我的情况下,他们编译好,但他们产生运行时错误,如下所示:

problem2

或者从Visual Studio 2010启动时:

问题

更新:我发现一篇博客文章分析了为什么它适用于某些人,而不适用于其他人.总之,这取决于您是否在同一台计算机上安装了Visual Studio 2008. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

最重要的是(我愚蠢地没有意识到),如果你没有安装Visual Studio 2008,你就不能使用Visual Studio 2008编译的库和dll(可在Qt网页上找到).原因是你下载的Qt SDK是一个调试版本,它依赖于VC9.0 DebugCRT,这意味着它需要安装Visual C++ 2008 Debug Runtime,它不能作为可再发行的安装程序使用.安装DebugCRT的唯一方法是安装整个Visual Studio 2008.

c++ qt build visual-studio-2010 visual-studio

136
推荐指数
2
解决办法
8万
查看次数

如何使用msvc2010构建GSL?

我正在使用Qt 4.8.3和QtCreator,我根据这里的说明使用msvc2010编译.然而,现在我需要链接到GSL(Gnu科学图书馆),但是目前我只知道如何使用g ++构建它,正如此处所描述的那样产生链接器错误,这无疑是出于@EvanTeran答案中给出的原因.然而,在我的情况下,通过Cygwin构建Qt使用g ++可能不是一种选择-从来就刚刚结束了在此期间,我试着做只是这多天的噩梦,但不能作为记录在这里.当然有一种方法可以用msvc2010构建gsl,但是怎么样?我安装了VS 2012 Express(虽然我之前从未使用过),以防有使用它的解决方案.

编辑:看看CMake,我最好能够为GSL手动创建CMakeLists.txt文件的整个层次结构.这只是有点太多,所以我放了100pt.关于上述问题的赏金.解决我的问题Visual Studio路由(这里)或与g ++将得到赏金和两个问题的答案.

更新: 下面的答案工作得很好,但不是无缝的,可能是因为我实际上需要在VS2012下编译.需要对代码进行一些调整,例如显式强制转换,在前一个编译器中显然可以容忍,但不是我的.事情进展顺利.

qt shared-libraries visual-studio visual-c++ gsl

15
推荐指数
2
解决办法
8783
查看次数

如何在支持C++ 11的Windows上安装64位Qt?

简而言之:

  1. 我的64位Qt版本没有C++ 11支持.
  2. 我使用C++ 11构建的Qt是32位.
  3. Qt5使用在线安装程序是32位
  4. 尽管已经将我生命中的最后3天奉献给了我,但我无法从源代码中获得64位Qt5.

救命!在我的环境中,某些东西必须是不相容的,但它可能是什么?


因此,我需要在Windows上使用C++ 11开发64位Qt应用程序.我在这里,这里,这里,这里这里找到了线程/指南,并且它们都没有工作或应用,但我注意到其中的第二个让我构建Qt 4.8.3并支持C++ 11(但是32位).第三个看起来比它应该更复杂,并且还涉及使用VS 2010构建,这似乎是问题的一部分,所以我没有尝试过.我也浪费了很多时间尝试用不同的编译器构建以前的版本,比如mingw和clang,所以我很确定cl是我需要使用的.

基本上,我已经到了可以构建Qt4.8.3并从QtCreator 2.6.1中执行64位应用程序的地步,但我无法获得完整的C++ 11支持.它只找到来自VS 10.0的cl,它只支持非常有限的C++ 11.弄清楚如何让它从VS 11.0使用cl将是我的问题的一个解决方案.但是,当我尝试

QMAKE_CXX = C:/ Program Files(x86)/ Microsoft Visual Studio 11.0/VC/bin/cl

构建失败并显示jom错误2,如果我选择构建选项,则会nmake出现类似错误.

Qt 5应该具有完整的C++ 11支持.但是当我尝试从源代码自己构建它时,它失败了.原因似乎是,尽管从VS2012 x64交叉工具命令提示符运行configure/make,-platform win32-2012在配置步骤中指定,并QMAKE_COMPILER_DEFINES += _MSC_VER=1700 WIN32根据
本指南指定,在win32-msvc2010和win32-msvc2012 mkspecs中,它仍然构建来自VS 2010的cl,这引起了某种冲突.这是我的configure命令:

configure -static -debug-and-release -confirm-license -opensource -nomake tests -nomake exampmles -opengl desktop -no-libjpeg -platform win32-msvc2012

这是我尝试构建时链接器失败:

以下是构建失败的输出:

在顶部2段落结束时,你可以看到被纳入该MSVC-2010,和更早在控制台输出(未显示)存在-D_MSC_VER=1600moc …

c++ 64-bit qt visual-studio c++11

13
推荐指数
1
解决办法
9820
查看次数

8
推荐指数
1
解决办法
1万
查看次数

为Visual Studio 2012编译Qt 4.8.x(x86)

我已经成功编译了Visual Studio 2012(x64)的Qt 4.8.3,使用了这里提出的问题指南,但问题是,这个解决方案只适用于64位编译,虽然编译32位(x86)完成没有错误,webkit不断崩溃(访问冲突),例如,qt设计师会在启动时立即崩溃,任何人都运气好吗?:(

qt visual-studio-2012

5
推荐指数
1
解决办法
3138
查看次数

无法构建C++项目

我正在建立一个我从以前的开发人员那里获得的C++项目.当我尝试编译它时,我得到这个错误(我正在使用VS2012 Professional):

 \bin\rcc.exe -name resources resources.qrc -o debug\qrc_resources.cpp
 1>  Moc'ing aboutdialog.h...
 1>  The system cannot find the path specified.
 1>  Moc'ing action.h...
 1>  UIC aboutdialog.ui
 1>  The system cannot find the path specified.
 1>  UIC mainwindow.ui
 1>  The system cannot find the path specified.
 1>  RCC resources.qrc
 1>  The system cannot find the path specified.
 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(172,5): error MSB6006: "cmd.exe" exited with code 3.
 1>Done executing task "CustomBuild" -- FAILED.
 1>Done building target "CustomBuild" in project "sv.vcxproj" -- FAILED. …
Run Code Online (Sandbox Code Playgroud)

msbuild qt qt4 visual-c++ qt5

5
推荐指数
1
解决办法
6937
查看次数