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