QT 동적으로 연결된 프로젝트를 cmake에서 clion IDE로 컴파일하는 방법을 찾고있었습니다. 다음 프로젝트를 설정하면서 문제가 발생했습니다. 나는 컴파일, this 튜토리얼을 따라하고, (그 qmake를 파일 C에서 찾을 수 있습니다 :/msys64/mingw64/빈)와 Mingw-W64 컴파일 QT하는 mingw32 비트 및 그 링크가있는 키트를 실행 한cmake find_packages (QT5)는 접두사 경로를 설정해도 올바른 버전의 QT 바이너리를 사용하지 않습니다.
프로젝트 설정은 다음과 같습니다.
다음은이 프로젝트를 빌드하기 위해 다음과 같은 cmake 파일을 사용했습니다. 빌드에 다음과 같은 오류가 점점 후
cmake_minimum_required(VERSION 3.7)
set(CMAKE_PREFIX_PATH C:/msys64/mingw64/bin)
project(qttest)
set(QT_ROOT_DIR "C:/msys64/mingw64/bin")
set(QT_QMAKE_EXECUTABLE ${QT_ROOT_DIR}/qmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)
add_library(notepad notepad.cpp)
target_link_libraries (notepad Qt5::Core Qt5::Widgets Qt5::Gui)
set(SOURCE_FILES main.cpp)
add_executable(qttest ${SOURCE_FILES})
target_link_libraries(qttest notepad)
는 :
{projectdir}/qttest/main.cpp:6: undefined reference to `__imp__ZN12QApplicationC1ERiPPci'
... (1000 of these types of errors) ...
CMakeFiles\qttest.dir\build.make:127: recipe for target 'qttest.exe' failed
CMakeFiles\Makefile2:104: recipe for target 'CMakeFiles/qttest.dir/all' failed
mingw32-make.exe[3]: *** [qttest.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles/qttest.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles/qttest.dir/rule] Error 2
CMakeFiles\Makefile2:116: recipe for target 'CMakeFiles/qttest.dir/rule' failed
Makefile:130: recipe for target 'qttest' failed
mingw32-make.exe: *** [qttest] Error 2
나는 해결책을 인터넷 검색, 그리고 QT의 32 비트와 Mingw 설치에 연결 한 것으로 보인다. 이것은 mingw-w64로 컴파일하고 있기 때문에 의미가 있습니다. 따라서이 문제를 해결하기 위해 findpackages를 통해 Qt를 포함하기 위해 solution here을 찾습니다. 이것은 실제로 작동하지 않으므로 또 다른 solution here을 찾습니다. qmake 디렉토리에 환경 변수를 설정하면 작동하지 않습니다. This one도 실패했습니다 (C :/msys64/mingw64/bin에 경로 변수를 추가하는 작업).
문제가 무엇인지 잘 모르겠지만 도움을 주시면 감사하겠습니다.
편집 : 현재 sitatuation, 나는 모든 노력을 한 것 같은 느낌,하지만 난 다음을 수행 때 foudn :
이get_target_property(QtCore_location Qt5::Core LOCATION)
message("qtcore location ${QtCore_location}")
cmake 출력 그래서 명확 실제로는 연결
qtcore location C:/ProgramData/Anaconda3/Library/bin/Qt5Core.dll
입니다 내 아나콘다 설치,하지만 왜 내가 어떻게 그만합니까! 다른 것을 사용하고 싶지는 않지만, 아나콘다가 경로에 나타나지만 거기에 보관해야합니다.
그래서 내일까지 내 자신의 대답을 받아 들일 수 없습니다 ... – snb