回答
CLion尚未(尚)compatible。
Visual Studio有一個Qt插件available。
Eclipse did有一個Qt插件,但工作是stopped on it some time ago。
這個問題已經得到了很多的關注最近(如克利翁的人氣上升毫無疑問),所以我應該有資格說克利翁確實支持的Qt在這個意義上,因爲它使用的CMake它可以處理調用moc
,rcc
和uic
相當無痛。然而,它並不瞭解QML,最重要的是,它並不瞭解QMake項目文件 - 這顯然使得使用CLion中的現有Qt項目變得困難,因爲您必須先將它移植到CMake。
並且CLion在調試時不瞭解QObject,所以例如你看不到QString裏面有什麼。 –
@PatrizioBekerle當然,這是一個缺少GDB漂亮的打印機問題,而不是CLion或Qt問題? – cmannett85
好點,這可能是如此。 QtCreator(Qt的IDE)似乎做了一些不同的事情來查看它們的對象。所以我通常使用QtCreator來進行圖形用戶界面和調試,並且使用CLion來處理其他一切。 –
當您使用CMake作爲構建工具時,您可以使用VC,Eclipse,CLion等輕鬆開發Qt。 CMake將爲每個IDE生成項目文件。我以這種方式使用了幾個IDE。旅程結束後,我成爲了Qt Creator的更幸福的用戶。
我和你一樣絕望,直到我讀到this Quora discussion。 它對我來說非常合適!
總之,有2個主要步驟:
首先,克利翁使用CMake的編譯代碼。它基於CMake配置文件(例如「CMakeLists.txt」)。你必須添加基於Qt的CMake的命令(與「find_package」和「target_link_libraries」線):
cmake_minimum_required(VERSION 3.5)
project(myqtproject)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
find_package(Qt5Widgets REQUIRED) <-- this line
add_executable(myqtproject ${SOURCE_FILES})
target_link_libraries(myqtproject Qt5::Widgets) <-- this line
其次,克利翁必須使用cmake
二進制被Qt安裝。爲此,請訪問: 'Preferences' - >'Build,Execution,Deployment' - >'CMake'和'CMake options'附加了Qt使用的CMake路徑,它應該位於安裝Qt的目錄中。例如,在OSX:
-DCMAKE_PREFIX_PATH=/Users/edouard/Qt/5.7/clang_64/lib/cmake
您可以測試一切都在main.cpp
做工精細,做一個小的測試腳本:
#include <QApplication>
#include <QDebug>
using namespace std;
int main() {
qDebug() << QT_VERSION_STR;
return 1;
}
這應該顯示是這樣的:
/Users/edouard/Library/Caches/CLion2016.2/cmake/generated/myqtproject-89a4132/89a4132/Debug/untitled
5.7.0
Process finished with exit code 1
UPDATE
我遇到了添加Qt5模塊的問題(例如QSql)。你可以通過在CMakeLists中添加。TXT:
find_package(Qt5Sql REQUIRED)
只是其他find_package
後,並添加在最後一行:
target_link_libraries(myqtproject Qt5::Widgets Qt5::Sql)
可以與所有其他QT5模塊做到這一點。
您可以在CLion中構建QT應用程序。 QT提供了處理所有細節的CMake模塊。
以下CMake的腳本構建的示例應用程序 'Dynamic Layouts Example'
cmake_minimum_required(VERSION 3.7)
project(qtlayoutexample)
set(CMAKE_CXX_STANDARD 14)
# Find QT packages
find_package(Qt5Widgets)
# Add the include directories for the Qt 5 Widgets module to
# the compile lines.
include_directories(${Qt5Widgets_INCLUDE_DIRS})
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Add compiler flags for building executables (-fPIE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
qt5_generate_moc(main.cpp main.moc)
# Tell CMake to create the qtlayoutexample executable
add_executable(qtlayoutexample main.cpp dialog.cpp main.moc)
#Link the qtlayoutexample executable to the Qt 5 widgets library.
target_link_libraries(qtlayoutexample Qt5::Widgets)
正如Tom Lank所言,Qt項目現在可以通過CMake進行管理,並且構建在CMake之下,這讓CLion感到開心。
Qt5's CMake manual描述如何。 Qt在這裏提供了很多魔術,並且在CMake documentation中解釋得更好。未在Qt的CMake的手冊上提到以上
一件事是,你還需要行:
set(CMAKE_AUTOUIC ON) # if you have any .ui files
set(CMAKE_AUTORCC ON) # if you have any .qrc files
所有這些調用set()
應行find_package(Qt5Widgets REQUIRED)
之前可能到來。在調用add_executable()
以及.cpp文件時,還要包含任何.ui或.qrc文件作爲依賴關係。
這對我來說是瀏覽網頁時最初非常令人困惑的事情,但您不需要撥打qt_*()
或qt5_*()
。據我所知,這些已被取代。
爲了測試你的CMakeLists.txt
實際上工作正常,你可以嘗試在Qt Creator中建立,通過加載CMakeLists.txt
作爲一個項目和建築。
一旦確認,您可以加載CMakeLists.txt
文件作爲CLion中的項目。 最有可能的,你需要告訴CMake的在哪裏找到這樣一行你的Qt包你find_package
的面前:
set(CMAKE_PREFIX_PATH "C:/Qt/5.9/msvc2015_64")
最後,如果你的Windows上運行/建築,Qt的無更長的時間是用GCC/Mingw32庫預先構建的。您需要使用Visual Studio構建。幸運的是,CLion now supports Visual Studio experimentally,我發現它適用於Qt項目;只需確保將體系結構(在Settings-> Build,Execution,Development-> CMake)下設置爲x86_amd64,即可構建64位模式並與Qt的預編譯庫兼容。
所有這些都通過CLion 2017.1,Qt 5.9和Visual Studio 2015編譯器進行測試。
此鏈接有一個快速啓動項目,您只需將CMakeLists中的CMAKE_PREFIX_PATH更改爲您要使用的Qt打包編譯器的位置(我的是gcc_64,默認情況下是clang_64) - 它具有一些其他的答案中提到的設置已經設置:
https://github.com/ArneGockeln/qtstarter
此外,(對基於Ubuntu的Linux)的我這裏(https://askubuntu.com/questions/11378/how-do-i-set-up-an-opengl-programming-environment)描述安裝OpenGL庫。
- 1. 在CLion IDE中配置C++ Google風格
- 2. 爲clion配置SFML(windows)
- 3. CLion配置OSX
- 4. 如何配置Clion以使用SDL2?
- 5. 爲OA框架配置Eclipse?
- 6. 如何在CLion IDE中顯示行號?
- 7. Clion + STM32L1xx - 如何設置
- 8. Java框架IDE
- 9. .Net「任何框架」配置
- 10. 如何在Qt Online Installer中使用CLion?
- 11. 爲vs2010配置Qt
- 12. Java配置框架
- 13. 如何配置Yii框架使用HTTPS?
- 14. 如何在Windows 7配置.NET框架
- 15. 如何配置Django的REST框架DjangoFilterBackend
- 16. 如何配置Struts框架到Eclipse
- 17. IDE for CodeIgniter框架
- 18. Qt winmigrate框架
- 19. 配置通過Spring框架
- 20. 如何從Intellij將設置導入CLion?
- 21. 爲RIA開發選擇IDE和框架
- 22. 如何在Graphics View框架中使用Qt Model/View框架
- 23. 如何在visual studio 2013中爲sqlite配置實體框架2013
- 24. 如何爲框架配置OCUnit測試包?
- 25. 如何配置實體框架6爲ASP.net核心
- 26. 如何爲fuelphp框架配置nginx重寫規則?
- 27. 如何爲iPhone應用程序開發配置live555框架?
- 28. 當前debbuger框架配置
- 29. Emacs的框架配置
- 30. 配置框架建議
我不認爲這個問題值得這種討價還價。雖然可以通過谷歌搜索找到答案,但需要相當多的點擊。找到這個讓我更快得到答案。 – JcKelley
@Claudio問題不在於哪個IDE最好,而是CLion如何與Qt合作。您的回覆無助於回答此問題,也無助於那些希望使用Qt開發而無需使用Qt Creator的用戶。 – Razakhel