web-dev-qa-db-ja.com

Qion FrameworkでCLion IDEを設定するには?

Qt Framework用にCLion IDEを構成する方法は?これはIDE Qtと互換性がありますか、またはQtと互換性のある他のIDEがありますか?

Qt Creator以外のものを使用したいだけです。

46
123qwe

このQuoraの議論 を読むまで、私はあなたと同じように必死でした。それは私にとって完璧に機能しました!

要約すると、2つの主要なステップがあります。

まず、CLionは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

次に、CLionはQtによってインストールされたcmakeバイナリを使用する必要があります。そのためには、「設定」->「ビルド、実行、展開」->「CMake」に移動し、「CMakeオプション」で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モジュールでこれを行うことができます。

42
Edouard Berthe

このアプローチは、最新Qtバージョンで使用される最も簡単な方法の1つです。

Qt:    5.10.1
CLion: 2018.1.2
GDB:   8.1

プロジェクトのセットアップ

InCLion

  1. C++ Executable/Libraryプロジェクトを作成します
  2. このサンプル「CMakeLists.txt」を使用する一般的なコンソール/ GUIプロジェクト:QtCore QtWidgetsおよびQtQuick

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)
  • Mocがリソース上でプロシージャを実行できるようにするには、リソースファイル(.qrc)をadd_executableリストに追加し、qmls、textsなどの内部ファイルにアクセスできるようにする必要があります。

  • qmlファイルはqrcファイルに含まれ、実行時にQQmlApplicationEngineを使用してロードする必要があります

デバッガ:

Qtタイプからのデバッグセッションで人間が読めるビューを表示するには、新しいGDBをシステムにインストールし、プリティプリンターを使用可能にする必要があります。

Qt5用のきれいなプリンター:

1-LekensteynQt5 Pretty Printers(Working):

住所: 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

付属のreadmeファイルに記載されているとおり(ただし機能しません!):

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

外部ツール

「ファイル->設定->ツール->外部ツール」で、4つの外部ツールを追加します。

Qt Creator:

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

UIデザイナー:

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を選択し、翻訳を開始します

自動美化器

Qt Creatorで「Uncrustify」などの美化ツールを使用して、ソースファイルの保存時にコードを自動美化した場合:

  1. プラグイン「Save Actions」をインストールします
  2. 「ファイル->設定->アクションの保存」の下
  3. 小切手:
    1. 保存時のアクティブな保存アクション
    2. ファイルの再フォーマット
  4. 最高のパフォーマンスを得るには、チェックを外します:
    1. インポートの整理
16
AshkanVZ

Tom Lankが言及しているように、QtプロジェクトはCMakeで管理し、CMakeでビルドできるようになり、CLionが幸せになりました。

Qt5のCMakeマニュアル はその方法を説明しています。ここでは、Qtが内部で多くの魔法を提供します。これについては、 CMakeドキュメンテーション で詳しく説明されています。

Qt CMakeのマニュアル以上で言及されていないことの1つは、次の行も必要なことです。

_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ファイルを、.cppファイルとともにadd_executable()への呼び出しの依存関係として含めます。

これは、最初はWebをブラウズすることで非常に混乱しましたが、qt_*()またはqt5_*()への呼び出しは必要ありません。私が知る限り、これらはこれに取って代わりました。

_CMakeLists.txt_が実際に正しく動作することをテストするには、プロジェクトとして_CMakeLists.txt_を読み込んでビルドすることにより、Qt Creator内でビルドを試すことができます。

確認したら、CMakeLists.txt_ファイルをCLionのプロジェクトとしてロードできます。ほとんどの場合、find_package_の前に、次のような行でQtパッケージの場所をCMakeに指示する必要があります。

_set(CMAKE_PREFIX_PATH "C:/Qt/5.9/msvc2015_64")
_

最後に、Windowsで実行/ビルドしている場合、QtはGCC/Mingw32ライブラリで事前にビルドされていません。 Visual Studioでビルドする必要があります。幸いなことに、 CLionはVisual Studioを実験的にサポートしています であり、Qtプロジェクトで動作することがわかりました。 64ビットモードでビルドし、Qtのビルド前ライブラリと互換性を持たせるために、アーキテクチャ(設定->ビルド、実行、開発-> CMake)を必ずx86_AMD64に設定してください。

これらはすべて、CLion 2017.1、Qt 5.9、およびVisual Studio 2015コンパイラーでテストされています。

3
jtbr

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)

詳細情報 CMakeを使用したQtアプリケーションの構築について

2
Tom

このリンクにはクイックスタートプロジェクトがあり、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 )。

2
Halcyon

必要なのは、QTインストール..Qt\5.10.1\mingw53_32\bin; PATHに。後でPCを再起動することを忘れないでください。CLionは何らかの理由でパスを更新できないため、完全なPC再起動のみが役立ちます。

0
brgs

CMakeをビルドツールとして使用すると、VC、Eclipse、CLionなどでQtを簡単に開発できます。 CMakeは、各IDEのプロジェクトファイルを生成します。この方法でいくつかのIDEを使用していました。この旅の後、私はQt Creatorのさらに幸せなユーザーになりました。

0
Roland Wolf