Qt5 [make -snap] 编译不正确:进程“/usr/bin/snap”退出,代码为 1

Qt5 [make -snap] doesn't compile properly: The process "/usr/bin/snap" exited with code 1

我copied/paste一个Qt5项目文件夹从一台电脑到另一台电脑。他们都是Ubuntu 18.04.

相同版本的 Qt5 和相同的 libraries/dependencies。在新电脑上,我有 CMake 3.10.2,但我不记得我在前一台电脑上的 CMake 版本。 (可能 CMake 3.8)。

我打开 Qt5 并打开包含 CMakeLists.txt 文件的文件夹,然后单击它,我从输出中得到以下结果:

08:02:22: Running steps for project newcam-proc...     
08:02:22: Persisting CMake state...  
08:02:22: Starting: "/usr/bin/snap" --build . --target all error: unknown flag `build' 
08:02:22: The process "/usr/bin/snap" exited with code 1. 
Error while building/deploying project myProject (kit: Desktop Qt 5.12.5 GCC 64bit) 
The kit Desktop Qt 5.12.5 GCC 64bit has configuration issues which might be the root cause for this problem. When executing step "CMake Build" 
08:02:22: Elapsed time: 00:00.

General Message 下面我得到:

Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
Could not read qmake configuration file /home/emanuele/Qt/5.12.5/android_armv7/mkspecs/android-clang/qmake.conf.
Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
Could not read qmake configuration file /home/emanuele/Qt/5.12.5/android_x86/mkspecs/android-clang/qmake.conf.
Running /usr/bin/snap /home/emanuele/Desktop/myProject -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++ -DCMAKE_C_COMPILER:STRING=/usr/bin/gcc -DCMAKE_PREFIX_PATH:STRING=/home/emanuele/Qt/5.12.5/gcc_64 -DQT_QMAKE_EXECUTABLE:STRING=/home/emanuele/Qt/5.12.5/gcc_64/bin/qmake in /tmp/QtCreator-vlHbHY/qtc-cmake-LvUefYdh.
error: unknown command "/home/emanuele/Desktop/myProject", see 'snap help'.
CMake process exited with exit code 1.

我以前的项目从来不需要使用 Android NDK,也不需要安装它。而且我不确定为什么在新机器上会显示此消息。

此外,似乎正在尝试使用 snap 而不是通常的 make

我不确定发生了什么以及为什么。

到目前为止我尝试了什么:

1) 我唯一想到的是尝试创建一个小示例应用程序并查看它是否运行,它实际上运行正常并且没有出现错误,如下所示:

08:16:00: Running steps for project untitled...
08:16:00: Configuration unchanged, skipping qmake step.
08:16:00: Starting: "/usr/bin/make" -j8
make: Nothing to be done for 'first'.
08:16:00: The process "/usr/bin/make" exited normally.
08:16:00: Elapsed time: 00:00.

我 copied/paste 的项目似乎使用 snap,如果我创建一个新项目,如 Qt Widget application,它实际上使用 make,正确退出在输出中。

标志 --build . --target all 是您通常看到传递给 cmake 可执行文件的标志,而不是 snap 可执行文件。这暗示您的 CMake 环境在新机器上的 IDE 中配置不正确。我建议按照 QtCreator CMake 设置说明 here 来帮助配置它:

To specify paths to CMake executables:

  1. Select Tools > Options > Kits > CMake > Add.
  2. In the Name field, specify a name for the tool.
  3. In the Path field, specify the path to the CMake executable.
  4. Select the Auto-create build directories check box to automatically create build directories for CMake projects.
  5. Select Apply to save your changes.