目前我正在尝试使用 KDevelop 4.7.3 创建一个全新的项目。我也瞄准Qt5。当我尝试使用 Qt Gui 项目的模板创建一个新项目时,它会创建一个 Qt4 项目,然后我将 cmake 文件更改为 Qt5,但是在 Qt4 或 Qt5 状态下,它都找不到要执行的库头文件语义分析,甚至编译。
只是好奇如何解决这个问题。我在 Kubuntu 上安装了 Qt Creator(工作正常)和 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)
更新购电协议
据说这个 PPA 可以解决问题,但我没有尝试过,因为我只是使用 git 版本,所以我可以在未来更轻松地构建更新版本。如果您想要一个不错的打包版本,那么这里是启动板。 https://launchpad.net/~blaze/+archive/ubuntu/kf5/
在下面继续从 KDE 编译源代码
我想出了如何解决这个问题,而且步骤很简单,你可以跟着做。如果您对自己进行编译感到不舒服,尽管您可能只想等待 PPA,或者至少如果您要坚持使用 16.04 的话,至少要等待向后移植。
为了解决这个问题,您可以在使用 Kdevelop 的打包版本时手动添加所有正确的路径,也可以从源代码构建它。
我正在使用从源代码构建的版本,我可以在仍然安装旧版本的同时使用它,因此如果您按照说明操作,您应该有两个不冲突的 KDevelop 工作版本。
如果链接发生问题,我将在此处发布重要信息,但这应该会有所帮助。
安装依赖项
将以下文本添加到您的 ~/.gitconfig:
安装 Kde Src 构建
配置 kdesrc-build
在该文件中将 /path/to/kdesrc-build/kf5-qt5-build-include替换为~/kdesrc/kdesrc-build/kf5-qt5-build-include
将ignore-kde-structure true和make-options -jN 添加到全局部分
安装更多依赖
将这些命令复制到一个名为 ~/.env-kf5 的新文件中:
运行 KDevelop
资源