cmake Qt 5 [make -snap]无法正确编译:进程“/usr/bin/snap”退出,代码为1

nbnkbykc  于 8个月前  发布在  其他
关注(0)|答案(2)|浏览(130)

我将一个Qt5项目文件夹从一台计算机复制/粘贴到另一台计算机。它们都是Ubuntu 18.04
相同版本的Qt5和相同的库/依赖项。在新的计算机上,我有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.


看起来我复制/粘贴的项目使用snap,如果我创建一个新项目,比如Qt Widget application,它实际上使用make,在输出中正确退出。

byqmnocz

byqmnocz1#

标志--build . --target all是您通常看到的传递给cmake可执行文件的标志,而不是snap可执行文件。这表明您的CMake环境没有在新机器上的IDE中正确配置。我建议您按照QtCreator CMake设置说明进行配置:
要指定CMake可执行文件的路径,请执行以下操作:
1.选择【工具】>【选项】>【工具包】>【CMake】>【添加】。
1.在名称字段中,指定工具的名称。
1.在Path字段中,指定CMake可执行文件的路径。
1.选中自动创建构建目录复选框,自动为CMake项目创建构建目录。
1.选择应用以保存您的更改。

ix0qys7i

ix0qys7i2#

安装Qt后,我想创建一个新的Qt Widgets项目应用程序,然后我发现当我选择CMake时,我得到了一个错误:

Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
Could not read qmake configuration file/opt/QT5.14.2 5.14.2 / android/mkspecs/android - clang/qmake. Conf.... see 'snap help'.

字符串
我很困惑为什么我被提示需要snap help。然后我检查了 Tools > Options > Kits > CMake,发现我的CMake是通过Snap安装的。然后我手动下载并再次安装了CMake。
通过sudo snap删除CMake后,我发现它可以正常编译。
我认为Snap安装的CMake不应该与Qt一起使用。

相关问题