是否可以使用vs2010 c ++并在所有平台上使用Qt?

时间:2013-12-12 15:18:30

标签: c++ visual-studio-2010 qt

我听说Qt,它提供的是独立于操作系统的层。 为了完成编码器通常所做的大多数任务。要充分执行代码必须是c ++ 虽然也有单声道提供一些翻译到c ++和那里Dot24一个android c#内核。

目前我们所做的事情,由于硬件原因无法以单声道完成。 所以我想回到纯C ++和QT而不是C#。

现在我对此感到疑惑 c ++本身就是一个标准,也应该是linux / windows / unix / microboards / Ce设备等的独立性。

但是,如果我使用VS2010 c ++和QT编写,我仍然有优势,我的代码可以在各种平台上运行吗? 。作为visual studio,创建一个基于Windows的exe?或者我是否应该使用另一个IDE用Qt编写真正独立的c ++?

4 个答案:

答案 0 :(得分:3)

C ++是一种编译语言,无论您使用什么IDE /编译器,它都会为某个平台生成可执行文件。但Qt的观点是,只要您避免使用特定于平台的代码,就可以在各种平台上重新编译源代码,为每个支持的平台生成不同的可执行文件。因此,就源而言,使用VC ++并不是一个限制。

该限制来自构建系统:Visual C ++使用自己的项目文件格式,这与makefile和&合。因此,如果您将项目作为VC ++项目启动,则必须手动重新创建Makefile或类似的以在其他平台上进行编译。

为了避免这类问题,Qt提供了qmake,这个工具提供了.pro文件(大致相当于.vcproj),能够生成各种构建文件平台:Windows上的.vcproj / .dsp,Linux和OS X上的Makefile,OS X上的XCode项目以及其他平台。

所以关键是:你可以使用Visual Studio,但你应该使用Qt的构建系统,以便能够毫不费力地将你的应用程序移植到其他平台。

此外,您可以考虑使用支持直接.pro文件的Qt Creator,它与Qt功能的集成特别好,适用于Windows,Linux和OS X;在缺点方面,我注意到Visual Studio中的调试器往往更好。

答案 1 :(得分:1)

如果你有使用Qt的跨平台C ++代码,你可以使用Visual C ++(Visual Studio中的编译器)编辑和编译Windows版本。

但是,Visual C ++仍然只创建Windows可执行文件,因此要在其他平台上实际构建和运行,您必须获得另一个编译器(但使用相同的源代码)。

makefile有一个难点:visual Studio有自己的项目格式,无法处理标准的makefile。其他平台也不使用Visual Studio项目。 Visual Studio确实附带了一个名为nmake的工具,它类似于POSIX或GNU make,但除了最琐碎的功能外,仍然不兼容。当然,cl.exe使用与其他编译器不同的命令行开关。因此,您最终将维护一组C ++文件,但需要两组或更多组makefile。

答案 2 :(得分:0)

为了开发qt应用程序qtcreator是最好的ide,qtcreator可以在linux和mac上使用,所以你可以轻松打开你的qt项目并在任何平台上构建。

答案 3 :(得分:0)

是的,可以在Visual Studio中开发可以在其他平台上使用的Qt应用程序。例如,对于我在医学成像研究方面的工作,我使用CMake生成Visual Studio 2010中的所有基于Qt的应用程序,并使用相同的CMakeLists在QtCreator或KDevelop下在linux中构建其中一些应用程序。 txt为这些IDE生成项目文件。只要我远离特定于平台的代码,移植就不那么困难了。