Mac OS X의 CMake에서 QX11Info 클래스 링크 오류를 수정하는 방법

Mac OS X의 CMake에서 QX11Info 클래스 링크 오류를 수정하는 방법

구축하려고 해요그램×바늘는 OS X에서 Linux용으로 설계되었습니다. MacPorts, XCode, KDE 등을 설치하고 빌드 파일을 약간 변경하여 대부분의 작업을 완료했지만 프로젝트 빌드의 마지막 단계에서 이 오류가 발생했습니다.

Linking CXX executable kxstitch.app/Contents/MacOS/kxstitch
Undefined symbols for architecture x86_64:
  "QX11Info::display()", referenced from:
      Editor::keyPressAlphabet(QKeyEvent*) in Editor.o

빌드 스크립트의 주요 줄은 다음과 같습니다.

cmake -DCMAKE_INSTALL_PREFIX= kde4-config --prefix.. && make -j${THREADS}

이것은CMakeLists.txt.

누락된 기호는 Qt의 일부인 것으로 보입니다. MacPorts를 통해 KDE를 설치하는 과정에서 qt4-mac, qt4-mac-devel 및 qt4-x11을 포함한 여러 Qt 관련 패키지가 설치됩니다. cmake의 출력에는 다음이 포함됩니다.

-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt-Version 4.8.2
--  -> QT_QMAKE_EXECUTABLE is /opt/local/bin/qmake
--  -> QT_INCLUDE_DIR is /opt/local/include
--  -> QT_QTCORE_INCLUDE_DIR is /opt/local/include/QtCore
--  -> QT_BINARY_DIR is /opt/local/bin
--  -> QT_LIBRARY_DIR is /opt/local/lib
--  -> QT_PLUGINS_DIR is /opt/local/share/qt4/plugins
--  -> QT_MKSPECS_DIR is /opt/local/share/qt4/mkspecs

진행 방법에 대한 제안을 보내주시면 감사하겠습니다.

업데이트: 읽었습니다.OS X의 QtGui 라이브러리 문제, 솔루션을 CMAKE로 변환하는 방법을 모르지만.

관련 정보