2016-10-17 16 views
1

cmakeを使用してcpp/qt5プロジェクトを構築しようとしていますが、コンパイルによってQT5に関するエラーが返されます。MacOS Sierra - cmakeがqt5で失敗しました

私が行うとき、私は自作でQT5、

をインストールしました:

brew --prefix qt5 

私はだから私は私のプロジェクトのbuildフォルダにいるよ

/usr/local/Cellar/qt5/5.6.0 

を取得、私はそうする:

0123同じ、

## QT5 ## 

find_package(Qt5 COMPONENTS Core Gui Widgets Concurrent Qml Quick REQUIRED) 

set_target_properties(${BIN_NAME} PROPERTIES AUTOMOC ON) 
set_target_properties(${BIN_NAME} PROPERTIES AUTOUIC ON) 
target_link_libraries(${BIN_NAME} PUBLIC Qt5::Core PUBLIC Qt5::Widgets PUBLIC Qt5::Gui PUBLIC Qt5::Qml PUBLIC Qt5::Quick PUBLIC Qt5::Concurrent) 

######### 

私もコマンドに-DQt5_DIR=$(brew --prefix qt5)を追加しようとしました:CMakelist.txtのエラー

CMake Error at CMakeLists.txt:124 (find_package): 
    By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has 
    asked CMake to find a package configuration file provided by "Qt5", but 
    CMake did not find one. 

    Could not find a package configuration file provided by "Qt5" with any of 
    the following names: 

    Qt5Config.cmake 
    qt5-config.cmake 

    Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR" 
    to a directory containing one of the above files. If "Qt5" provides a 
    separate development package or SDK, be sure it has been installed. 

ライン: は私に、このエラーを返す

結果。


おかげ

+0

は、ファイルい 'Qt5Config.cmake' QT5のインストールに存在しますか? – Tsyvarev

+0

どうすれば確認できますか? – F4Ke

+0

私はBREWに精通していませんが、インストールされたパッケージのファイルのリストを提供できるはずです。しかし、与えられたファイルを '/ usr/local/Cellar/qt5/5.6.0'の下で検索するだけで十分です。変数' CMAKE_PREFIX_PATH'は検索のために新しい*プレフィックス*を追加するだけです。変数 'Qt5_DIR'については、このディレクトリには必要なファイルが直接含まれている必要があります。 – Tsyvarev

答えて

2

てみてください。target_link_librariesを使用しているときにset_target_propertiesを使用するときに複数のプロパティを指定し、複数の値についてPUBLIC範囲を指定することができます

-DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 

注:

set_target_properties(${BIN_NAME} 
    PROPERTIES 
    AUTOMOC ON 
    AUTOUIC ON 
) 
target_link_libraries(${BIN_NAME} 
    PUBLIC 
    Qt5::Core 
    Qt5::Widgets 
    Qt5::Gui 
    Qt5::Qml 
    Qt5::Quick 
    Qt5::Concurrent 
) 
関連する問題