我是一名最近转用的 Linux 用户,正在运行 Pop!_OS 22.04。我正在尝试构建Slack日志查看器这是一个使用 Qt6 的 C++ 程序。为了做到这一点,我必须构建一个依赖项,夸克~/quazip6/
,指定我正在使用 Qt6,因为缺乏其他想法而将其放入。
现在,当运行 SlackLogViewer 的 cmake 命令时,我遇到了几个问题。
- quazip qt6 cmake 文件调用另一个 quazip cmake 文件,但找不到它
CMake Error at /home/chaossature/quazip6/quazip/QuaZip-Qt6Config.cmake:29 (include):
include could not find requested file:
/home/chaossature/quazip6/quazip/QuaZip-Qt6_SharedTargets.cmake
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
实际上,有一个同名的文件,但它在 中/home/chaossature/quazip6/quazip/CMakeFiles/Export/lib/cmake/QuaZip-Qt6-1.4/QuaZip-Qt6_SharedTargets.cmake
。在引用此文件的 cmake 文件中,有问题的行是include("${CMAKE_CURRENT_LIST_DIR}/QuaZip-Qt6_SharedTargets.cmake")
。
我不熟悉 cmake,但我尝试用${CMAKE_CURRENT_LIST_DIR}/CMakeFiles/Export/lib/cmake/QuaZip-Qt6-1.4/QuaZip-Qt6_SharedTargets.cmake
指向正确文件的路径替换该路径,这确实让我摆脱了错误。
现在
QuaZip-Qt6-1.4/QuaZip-Qt6_SharedTargets.cmake
调用位于的文件/home/chaossature/quazip6/quazip/CMakeFiles/Export/lib/libquazip1-qt6.so.1.4
。再次出现这样的文件...但这次它实际上位于根目录,IE,quazip6/quazip/
这让我相信我通过手动更改第一个 cmake 文件破坏了某些东西。我还尝试将第一个文件移动到第一个有问题的 cmake 正在查看的位置而不是更改 cmake 文件,但这会导致许多其他路径问题。
我认为问题出在我安装 QuaZIP 的方式上(我习惯了其中的几个 cmake 文件,/usr/lib/x86_64-linux-gnu/cmake/
但我不确定是否应该在其中构建东西),或者出在环境变量上,但我对 linux 或 cmake 文件不够熟练,无法尝试上面列出的更多方法。我在这两个程序的 github 页面上找不到任何类似的问题,这让我相信问题出在我的椅子和显示器之间……