2013-12-12 24 views
3

我對Qt的看法是,它提供了一個獨立於操作系統的層。 要做好編碼器通常所做的大部分任務。要執行最好的代碼必須是c + + 雖然也有單聲道提供一些翻譯到C + +和Dot24一個Android C#內核。是否可以使用vs2010 C++並在所有平臺上使用Qt?

目前我們所做的事情,不能用單聲道來完成,因爲硬件原因。 所以我想回到純粹的C++和QT而不是C#。

現在什麼,我想知道 通過自身C++是一個標準,也應idenpendent用於Linux/Windows的/ UNIX /微型插件/ CE設備等等等等

但是,如果我會寫使用VS2010 C++和Qt我仍然有優勢,我的代碼可以在各種平臺上運行? 。作爲Visual Studio,創建一個基於Windows的exe文件?還是應該使用另一個IDE來用Qt編寫真正獨立的C++?

+0

不,有嵌入式系統沒有足夠的內存用於QT或沒有鼠標和顯示器。 –

回答

0

是的,可以在Visual Studio中開發可用於其他平臺的Qt應用程序。例如,對於我在醫學影像研究方面的工作,我使用CMake生成的Visual Studio項目文件開發了我在Visual Studio 2010中的所有基於Qt的應用程序,並且有時使用相同的CMakeLists在QtCreator或KDevelop中的Linux中構建了一些這些應用程序。 txt來爲這些IDE生成項目文件。只要我遠離平臺特定的代碼,移植並不困難。

+1

我很感激我的回答被接受了,但我相信Matteo Italia有更好的答案。我發佈了一個答案,因爲我想分享我的經驗一點,因爲我已經做了5年以上。 – drescherjm

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。

3

C++是一種編譯語言,無論您使用哪種IDE /編譯器,它都會爲特定平臺生成可執行文件。但Qt的意義在於,就避免平臺特定的代碼而言,可以在各種平臺上重新編譯源代碼,爲每個支持的平臺生成不同的可執行文件。因此,就源代碼而言,使用VC++並不是一個限制。

這個限制來自構建系統:Visual C++使用自己的格式作爲項目文件,這與makefiles & co。不兼容。所以,如果你以VC++項目開始你的項目,你將不得不手動重新創建一個Makefile或類似的工具來編譯其他平臺。

爲了避免這種問題,Qt提供qmake,一個工具,提供了一個.pro文件(大約相當於.vcproj),能夠生成構建文件的各種平臺:在Windows上,Makefile文件在Linux .vcproj/.dsp和OS X,XCode項目在OS X和其他可能的項目。

所以問題是:你可以使用Visual Studio,但是你應該使用Qt的構建系統來將你的應用程序移植到其他平臺上,而不用大驚小怪。另外,你可以考慮使用Qt Creator,它直接支持.pro文件,與Qt特性的集成非常好,可以在Windows,Linux和OS X上運行;在缺點方面,我注意到Visual Studio中的調試器往往更好。

+0

關於本Voigt的評論;是QT能夠從項目結構視覺工作室使用中創建一個彙編。由於我們的版本和內部文檔系統依賴於它。 – user613326

+0

你的意思是從'.vcproj'到'.pro'?我不這麼認爲。但是我不明白它是如何有用的,首先編寫'.pro'並讓'qmake'生成你需要的'.vcproj'。 –

+0

qmake或任何其他makefile模板系統可以提供幫助,但是您仍然需要爲每個編譯器設置選項(除非有幾個編譯器可以自動轉換) –

0

爲了開發qt應用程序qtcreator是Linux和Mac上最好的ide,qtcreator,因此您可以輕鬆打開您的qt項目並在任何平臺上構建。

+0

目前用於版本控制和我們依賴於vs2010的文檔 – user613326

相關問題