如何为Qt Framework配置CLion IDE?

时间:2015-05-14 10:36:39

标签: c++ qt clion

如何为Qt Framework配置CLion IDE? 这个IDE是否与Qt兼容,还是其他IDE与Qt兼容?

我只想尝试使用除Qt Creator之外的其他东西。

6 个答案:

答案 0 :(得分:14)

此方法是用于最新 Qt 版本的最简单方法之一。

Qt:    5.10.1
CLion: 2018.1.2
GDB:   8.1

项目设置

CLION

  1. 创建 C ++可执行文件 / 项目
  2. 使用此示例" CMakeLists.txt "对于使用以下内容的常见控制台/ gui项目: QtCore QtWidgets QtQuick
  3. 的CMakeLists.txt:

    cmake_minimum_required(VERSION 3.10)
    project(PROJECT_NAME)
    
    set(CMAKE_CXX_STANDARD 14)
    
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTOUIC ON)
    set(CMAKE_AUTORCC ON)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    set(CMAKE_PREFIX_PATH "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/cmake")
    
    find_package(Qt5Core REQUIRED)
    find_package(Qt5Widgets REQUIRED)
    find_package(Qt5Quick REQUIRED)
    
    add_executable(PROJECT_NAME main.cpp MainWindow.cpp MainWindow.h qml.qrc)
    
    target_link_libraries(PROJECT_NAME Qt5::Core)
    target_link_libraries(PROJECT_NAME Qt5::Widgets)
    target_link_libraries(PROJECT_NAME Qt5::Quick)
    
    • 应将资源文件(.qrc)添加到add_executable列表中 命令moc能够在资源上运行其程序 内部文件,如qmls,文本,......可以访问。

    • qml文件应包含在qrc文件中,并在运行时使用 QQmlApplicationEngine 加载

    <强> Debuger:

    为了在Qt类型的调试会话中具有人类可读的视图,必须在系统上安装新的GDB,并且必须提供漂亮的打印机:

    Qt5的漂亮打印机:

    1- Lekensteyn Qt5漂亮的打印机(工作):

    地址:https://github.com/Lekensteyn/qt5printers

    设置:〜/ .gdbinit

    python
    import sys, os.path
    sys.path.insert(0, os.path.expanduser('~/.gdb'))
    import qt5printers
    qt5printers.register_printers(gdb.current_objfile())
    end
    

    2-官方(不工作!!!):

    "PATH_TO_QT/QT_VERSION/QT_ARCH/Tools/QtCreator/share/qtcreator/debugger/"
    

    设置:〜/ .gdbinit

    如附带的自述文件中所述(但不起作用!):

    python sys.path.insert(1, '<path/to/qtcreator>/share/qtcreator/debugger/')
    python from gdbbridge import *
    

    外部工具

    In&#34;文件 - &gt;设置 - &gt;工具 - &gt;外部工具&#34;,添加4个外部工具:

    Qt Creator:

    Program:   "PATH_TO_QT/QT_VERSION/QT_ARCH/Tools/QtCreator/bin/qtcreator"
    Arguments: $FilePath$
    

    UI Designer:

    Program:   "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/designer")
    Arguments: $FilePath$
    

    LUpdate:

    Program:   "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/lupdate")
    Arguments: $FilePath$ -ts $FileNameWithoutExtension$.ts
    

    语言学家:

    Program:   "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/linguist")
    Arguments: $FilePath$
    

    现在,您可以在外部工具下右键单击这些文件类型:

    1. 对于.ui选择 Qt Creator / Designer 并启动UI设计
    2. 对于.qml选择 Qt Creator 并在QML编辑器中设计UI
    3. 对于.qrc,请选择 Qt Creator 并使用资源编辑器
    4. 对于.cpp / .ui选择 LUpdate 以创建其翻译文件
    5. 对于.ts,请选择 Linguist 并开始翻译
    6. 自动美化

      如果在 Qt Creator 中你使用过像#34; Uncrustify&#34;自动美化保存源文件的代码,然后:

      1. 安装插件&#34; 保存操作&#34;
      2. 在&#34;文件 - &gt;下设置 - &gt;保存操作&#34;
      3. 检查:
        1. 保存时的有效保存操作
        2. 重新格式化文件
      4. 为了获得最佳性能,请取消选中:
        1. 整理导入

答案 1 :(得分:3)

正如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)之前。还包括任何.ui或.qrc文件作为add_executable()调用中的依赖项以及.cpp文件。

这最初让我对浏览网页感到困惑,但您不应该对qt_*()qt5_*()进行任何调用。据我所知,这些已被取代。

要测试您的CMakeLists.txt是否真的有效,您可以尝试在Qt Creator中构建,将CMakeLists.txt作为项目加载并构建。

确认后,您可以将CMakeLists.txt文件作为项目加载到CLion中。 最有可能的是,您需要在find_package之前告诉CMake在哪里找到您的Qt软件包:{/ 1}}

set(CMAKE_PREFIX_PATH "C:/Qt/5.9/msvc2015_64")

最后,如果您正在运行/构建Windows,Qt不再预先构建GCC / Mingw32库。你需要使用visual studio构建。幸运的是,CLion now supports Visual Studio experimentally并且我发现它适用于Qt项目;只需确保将架构(在Settings-&gt; Build,Execution,Development-&gt; CMake下)设置为x86_amd64,以便在64位模式下构建并与Qt的预构建库兼容。 / p>

所有这些都经过了CLion 2017.1,Qt 5.9和Visual Studio 2015编译器的测试。

答案 2 :(得分:2)

您可以在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)

更多信息regarding building Qt applications with CMake

答案 3 :(得分:2)

此链接有一个快速入门项目,您只需将CMakeLists中的CMAKE_PREFIX_PATH更改为您要使用的Qt打包编译器的位置(我的是gcc_64,默认情况下是clang_64) - 它有一些设置已经设定的其他答案提到:

https://github.com/ArneGockeln/qtstarter

此外,(在基于Ubuntu的Linux上)我必须安装OpenGL库,如此处所述(https://askubuntu.com/questions/11378/how-do-i-set-up-an-opengl-programming-environment)。

答案 4 :(得分:0)

当您使用CMake作为构建工具时,您可以使用VC,Eclipse,CLion等轻松开发Qt。 CMake将为每个IDE生成项目文件。我用这种方式使用了几个IDE。在这次旅程之后,我是Qt Creator的更快乐的用户。

答案 5 :(得分:0)

您唯一需要的是将QT install ..Qt\5.10.1\mingw53_32\bin;添加到PATH。不要忘记之后重启PC,因为CLion由于某种原因无法刷新路径,只有完整的pc重启才有帮助。