私のコンピュータ(Ubuntu-Gnome)には2つのQtバージョンがインストールされています。 1つはパッケージマネージャ(5.x)で、もう1つは手動で/opt/Qt(5.9)になります。CMake:Qtパッケージを見つけたら、2つのQtバージョンがインストールされています
1つのプロジェクトでは、/opt/Qt -install with CMakeを使用する必要があります。しかし、正しいインストールfind_package(Qt5Core 5.9 COMPONENTS CORE REQUIRED)
見つからない:
Could not find a configuration file for package "Qt5Core" that is
compatible with requested version "5.9".
The following configuration files were considered but not accepted:
/usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake, version: 5.7.1
を私はパスのすべての亜種でCMakeのに検索パスを追加するCMAKE_PREFIX_PATH
とCMAKE_MODULE_PATH
を設定しようとしましたが、それはまったく動作しません。
2番目のインストールの検索パスを/opt/Qt/に正しく設定するにはどうすればよいですか?
アップデート@Florian入力するため
でこれは動作します:
cmake -DQt5_DIR:PATH=/opt/Qt/5.9.2/gcc_64/lib/cmake/Qt5Core
と一緒
find_package(
Qt5Core 5.9
COMPONENTS
Core
REQUIRED
)
をが、この場合には、私は唯一のQT5Coreを見つけました。
find_package(
Qt5 5.9
COMPONENTS
Core
REQUIRED
)
一緒
cmake -DQt5_DIR:PATH=/opt/Qt/5.9.2/gcc_64/lib/cmake/Qt5
第二編集
でいつも私が呼び出しに完全なパスを置くことを避けるために:同様のすべてのコンポーネントのために働くように見えることとこれを私のCMakeLists.txtに加えてください。:
set(QT_INSTALL_PATH /opt/Qt)
file(GLOB_RECURSE sres ${QT_INSTALL_PATH}/*/Qt5Config.cmake)
get_filename_component(Qt5_DIR ${sres} DIRECTORY)
その後、これは正常に動作します:PATH =は/ opt/QT/5.9/gcc_64/libに/ cmakeの/:
find_package(
Qt5 5.9
COMPONENTS
Core
Network
REQUIRED
)
あなたは 'cmakeの-DQt5Core_DIRのようなものを試してみましたQt5Core ..'? – Florian
@Florianはい - でも動作しません。今度は 'find_package'に渡す全てのパスのリストを生成しようとします。私は言うべき方法がないと思っています:これはQtのベースフォルダです。ここで再帰的に検索してください。 – Alex44
奇妙な。 'cmake -DCMAKE_IGNORE_PATH ="/usr/lib/x86_64-linux-gnu/cmake/Qt5Core "'のような "不要な"パスを無視することで、別の方法で試してみることができます。 – Florian