回答
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. 配置NetBeans IDE以播放框架
- 3. 为clion配置SFML(windows)
- 4. CLion配置OSX
- 5. 如何配置Clion以使用SDL2?
- 6. 为OA框架配置Eclipse?
- 7. 如何在CLion IDE中显示行号?
- 8. Clion + STM32L1xx - 如何设置
- 9. Java框架IDE
- 10. 如何将Intellij配置为Spark Python IDE
- 11. 如何使用自定义libC++和clang设置CLion IDE?
- 12. 在Clion中使用Qt
- 13. 如何在Qt Online Installer中使用CLion?
- 14. .Net“任何框架”配置
- 15. CLion IDE,输出不一致
- 16. 在mac电脑上为C++设置CLION IDE
- 17. 为vs2010配置Qt
- 18. Java配置框架
- 19. IDE for CodeIgniter框架
- 20. 如何配置Yii框架使用HTTPS?
- 21. 如何在Windows 7配置.NET框架
- 22. 如何配置Struts框架到Eclipse
- 23. 如何正确配置实体框架?
- 24. 如何配置Django的REST框架DjangoFilterBackend
- 25. Qt winmigrate框架
- 26. 将Eclipse配置为Go IDE
- 27. 配置通过Spring框架
- 28. 如何从Intellij将设置导入CLion?
- 29. 如何配置Qt - DirectX - Xinput.h
- 30. Qt从源代码Qt如何清理旧的配置配置?
我不认为这个问题值得这种讨价还价。虽然可以通过谷歌搜索找到答案,但需要相当多的点击。找到这个让我更快得到答案。 – JcKelley
@Claudio问题不在于哪个IDE最好,而是CLion如何与Qt合作。您的回复无助于回答此问题,也无助于那些希望使用Qt开发而无需使用Qt Creator的用户。 – Razakhel