编译KDevelop Python Support时CMake报错:找不到KDev::Tests目标
问题描述
通过dnf安装了KDevelop及所有配套包,但缺少kdev-python组件,因此从源码编译该组件。已安装所有依赖和Python3,遵循仓库INSTALL指引执行cmake命令时出错,执行的命令为:
cmake .. -DCMAKE_BUILD_TYPE=debug -DKDE4_BUILD_TESTS=true
错误输出如下:
-- The following OPTIONAL packages have been found: * PythonInterp (required version >= 3.11) -- The following REQUIRED packages have been found: * ECM (required version >= 5.78.0) * PythonLibs (required version == 3.11) * Qt5Test * Qt5 (required version >= 5.15.0) * KF5 (required version >= 5.78.0) * KF5Service (required version >= 5.100.0) * KF5Completion (required version >= 5.100.0) * KF5ItemViews (required version >= 5.100.0) * KF5JobWidgets (required version >= 5.100.0) * KF5Solid (required version >= 5.100.0) * KF5Sonnet (required version >= 5.100.0) * Gettext * KF5I18n (required version >= 5.100.0) * KF5TextWidgets (required version >= 5.100.0) * KF5CoreAddons (required version >= 5.100.0) * KF5Auth (required version >= 5.100.0) * KF5Codecs (required version >= 5.100.0) * Qt5Widgets (required version >= 5.15.2) * KF5WidgetsAddons (required version >= 5.100.0) * KF5ConfigWidgets (required version >= 5.100.0) * KF5XmlGui (required version >= 5.100.0) * KF5Parts (required version >= 5.100.0) * Qt5Gui (required version >= 5.15.2) * KF5SyntaxHighlighting (required version >= 5.100.0) * KF5TextEditor (required version >= 5.78.0) * Qt5Core (required version >= 5.15.2) * KF5ThreadWeaver (required version >= 5.78.0) * KDevPlatform (required version >= 5.7) * KDevelop (required version >= 5.7) -- Configuring done CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:97 (target_link_libraries): Target "pyasttest" links to: KDev::Tests but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. Call Stack (most recent call first): parser/tests/CMakeLists.txt:4 (ecm_add_test) CMake Error at duchain/tests/CMakeLists.txt:17 (target_link_libraries): Target "pyduchaintest" links to: KDev::Tests but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. CMake Error at duchain/tests/CMakeLists.txt:25 (target_link_libraries): Target "duchainbench" links to: KDev::Tests but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:97 (target_link_libraries): Target "pycompletiontest" links to: KDev::Tests but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. Call Stack (most recent call first): codecompletion/tests/CMakeLists.txt:5 (ecm_add_test) -- Generating done CMake Generate step failed. Build files cannot be regenerated correctly.
解决方案
- 关闭测试编译:发行版通过dnf安装的KDevelop和KDevPlatform包不包含测试组件的开发文件,而你开启了测试编译(
-DKDE4_BUILD_TESTS=true),导致cmake找不到KDev::Tests目标。将cmake命令修改为:
或者直接去掉测试相关参数,默认会关闭测试编译。cmake .. -DCMAKE_BUILD_TYPE=debug -DBUILD_TESTING=false - 验证开发包安装:确认已安装KDevPlatform的开发包,执行:
sudo dnf install kdevplatform-devel - 重新编译:执行修改后的cmake命令,待配置完成后执行
make和sudo make install完成安装。
内容的提问来源于stack exchange,提问作者new_buffer_overflow
相关产品推荐
相关产品推荐

