kdevelop не находит Qt libs

В настоящее время я пытаюсь создать новый проект с использованием KDevelop 4.7.3. Я также нацеливаюсь на Qt5. Когда я пытаюсь создать новый проект, используя шаблон для проекта Qt Gui, он создает проект Qt4, а затем я изменяю файл cmake на Qt5, но в состоянии либо Qt4, либо Qt5 он не находит файлы заголовков библиотеки для выполнения. семантический анализ или даже компиляция.

Просто любопытно, как решить эту проблему. У меня установлен Qt Creator (работает нормально) и KDevelop на Kubuntu, поэтому я предполагаю, что у меня уже есть необходимые библиотеки, но дайте мне знать, если я что-то упустил.

Ниже приведен файл make, который он автоматически создает с несколькими дополнениями с моей стороны. Пожалуйста, отредактируйте при необходимости.

cmake_minimum_required(VERSION 2.8)
project(stickykey)
find_package(Qt5Core)

find_package(Qt5 REQUIRED Gui Widgets)
find_package(Qt5Widgets)

# # The Qt5Widgets_INCLUDES also includes the include directories for
#   # dependencies QtCore and QtGui
  include_directories(${Qt5Widgets_INCLUDES})
# 
#   # We need add -DQT_WIDGETS_LIB when using QtWidgets in Qt 5.
  add_definitions(${Qt5Widgets_DEFINITIONS})
# 
#   # Executables fail to build with Qt 5 in the default configuration
#   # without -fPIE. We add that here.
#   set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")

include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})

set(StickyKey_SRCS StickyKey.cpp main.cpp)

#qt5_automoc(${StickyKey_SRCS})
add_executable(stickykey ${StickyKey_SRCS})
target_link_libraries(stickykey ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} Qt5::Widgets)

install(TARGETS stickykey RUNTIME DESTINATION bin)

1 ответ

ОБНОВЛЕНИЕ PPA

Предположительно, этот PPA поможет, но я не пробовал, потому что я просто использую git-версию, чтобы в будущем мне было легче создавать более новую версию. Если вы хотите хорошую упакованную версию, то вот панель запуска. https://launchpad.net/~blaze/+archive/ubuntu/kf5/

ПРОДОЛЖАЙТЕ НИЖЕ ПО ИСТОЧНИКУ, СОСТАВЛЯЕМОМУ ИЗ KDE

Я понял, как решить проблему, и это довольно просто, учитывая, что шаги записаны, и вы можете следовать за ними. Если вам неудобно компилировать себя, вы можете просто подождать PPA или backports, по крайней мере, если вы собираетесь придерживаться 16.04.

Чтобы решить эту проблему, вы можете вручную добавить все правильные пути при использовании упакованной версии Kdevelop или создать ее из исходного кода.

Я использую версию, созданную из исходного кода, и я могу использовать ее, хотя при этом установлена ​​старая версия, поэтому, если вы следуете указаниям, у вас должны быть две рабочие версии KDevelop, которые не конфликтуют.

Я опубликую здесь важные биты на случай, если что-то случится со ссылкой, но это должно помочь.

Установить зависимости

sudo apt-get build-dep qtbase5-dev

sudo apt-get установить libbz2-dev libxslt-dev libxml2-dev общая-mime-информация кислородная иконка-тема libgif-dev libvlc-dev libvlccore-dev doxygen gperf bzr libxapian-dev fontforge libgcrypt20-dev libattr1-dev network-manager-dev libgtk-3-dev xsltproc xserver-xorg-dev xserver-xorg-input-synaptics-dev libpwquality-dev modemmanager-dev-libxcb-keysyms1-dev libepoxy-dev libpolkit-agent-1-dev libnm-util-dev libnm-glib-dev libegl1-mesa-dev libxcb-xkb-dev libqt5x11extras5-dev libwww-perl libxml-parser-perl libjson-perl libboost-dev libgstreamer-плагины-base1.0-dev libgstreamer1.0-dev libarchive-dev liblmakeb git extra-cmake-modules "libkf5.*-dev" llvm llvm-3.6 libclang-3.6-dev

Добавьте следующий текст в ваш ~/.gitconfig:

[url "git://anongit.kde.org/"]
   insteadOf = kde:
[url "ssh://git@git.kde.org/"]
   pushInsteadOf = kde:

Установить Kde Src Build

mkdir ~/kdesrc  
cd ~/kdesrc  
git clone kde:kdesrc-build  
cd kdesrc-build  
cp kdesrc-buildrc-kf5-sample ~/.kdesrc-buildrc

# Install a symlink of kdesrc-build to a location in PATH
mkdir ~/bin  
ln -s $PWD/kdesrc-build ~/bin  
export PATH=~/bin:$PATH  

Настройте kdesrc-build

edit ~/.kdesrc-buildrc  

Замените /path/to/kdesrc-build/kf5-qt5-build-include на ~/kdesrc/kdesrc-build/kf5-qt5-build-include в этом файле

Добавьте ignore-kde-structure true и make-options -jN в глобальный раздел

установить больше зависимостей

kdesrc-build --debug libkomparediff2 grantlee kdevplatform kdevelop-pg-qt kdevelop

Скопируйте эти команды в новый файл с именем ~/.env-kf5:

export KF5=~/kde-5  
export QTDIR=/usr  
export CMAKE_PREFIX_PATH=$KF5:$CMAKE_PREFIX_PATH  
export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS:/usr/share  
export XDG_CONFIG_DIRS=$KF5/etc/xdg:$XDG_CONFIG_DIRS:/etc/xdg  
export PATH=$KF5/bin:$QTDIR/bin:$PATH  
export QT_PLUGIN_PATH=$KF5/lib/plugins:$KF5/lib64/plugins:$KF5/lib/x86_64-linux-gnu/plugins:$QTDIR/plugins:$QT_PLUGIN_PATH  
#   (lib64 instead of lib, on OpenSUSE and similar)
export QML2_IMPORT_PATH=$KF5/lib/qml:$KF5/lib64/qml:$KF5/lib/x86_64-linux-gnu/qml:$QTDIR/qml  
export QML_IMPORT_PATH=$QML2_IMPORT_PATH  
export KDE_SESSION_VERSION=5  
export KDE_FULL_SESSION=true  

Запустите KDevelop

source ~/.env-kf5
kdevelop

источник

Другие вопросы по тегам