kdevelop 未找到 qt 库

kdevelop 未找到 qt 库

目前,我正在尝试使用 KDevelop 4.7.3 创建一个全新的项目。我也针对 Qt5。当我尝试使用 Qt Gui 项目的模板创建一个新项目时,它会创建一个 Qt4 项目,然后我将 cmake 文件更改为 Qt5,但无论是 Qt4 还是 Qt5 状态,它都找不到库头文件来进行语义分析,甚至无法编译。

只是好奇如何解决这个问题。我已经安装了 Qt Creator(运行良好)并在 Kubuntu 上安装了 KDevelop,所以我假设我已经拥有所需的库,但如果我遗漏了什么,请告诉我。

以下是它自动创建的 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,或者至少如果你要坚持使用 16.04,那么就向后移植。

为了解决这个问题,您可以在使用 Kdevelop 的打包版本时手动添加所有正确的路径,也可以从源代码构建它。

我正在使用从源代码构建的版本,并且可以在仍然安装旧版本的情况下使用它,因此如果您按照说明操作,您应该有两个不冲突的 KDevelop 工作版本。

如果链接出现问题,我会在这里发布重要内容,但这应该会有所帮助。

安装依赖项

sudo apt-get build-dep qtbase5-dev

sudo apt-get 安装 libbz2-dev libxslt-dev libxml2-dev 共享-mime-info 氧气图标主题 libgif-dev libvlc-dev libvlccore-dev doxygen gperf bzr libxapian-dev fontforge libgcrypt20-dev libattr1-dev 网络管理器-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-plugins-base1.0-dev libgstreamer1.0-dev libarchive-dev liblmdb-dev cmake git extra-cmake-modules“libkf5.*-dev” llvm llvm-3.6 libclang-3.6-dev

添加将以下文本添加到你的 ~/.gitconfig 中:

[url "git://anongit.kde.org/"]
   insteadOf = kde:
[url "ssh://[email protected]/"]
   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  

代替/路径/到/kdesrc-build/kf5-qt5-build-include〜/ kdesrc / kdesrc-build / kf5-qt5-build-include在那个文件中

添加忽略-kde-结构 truemake 选项 -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

来源

相关内容