zhuzichu520 / FluentUI

FluentUI for QML
MIT License
3.16k stars 422 forks source link

执行cmake需要root权限 #396

Open warindy opened 6 months ago

warindy commented 6 months ago

你好,我在linux下尝试进行编译,发现执行cmake时候提示权限不够。

------------------------ FluentUI ------------------------
Build FluentUI demo applications.: ON
Build static library.: OFF
Path to FluentUI plugin.: /home/warindy/Qt/6.4.3/gcc_64/qml/FluentUI
-- Configuring done (2.0s)
CMake Error: Cannot open file for write: /home/warindy/Develop/FluentUI/build/.qt/QtDeploySupport.cmake.tmpec53e
CMake Error: : System Error: Permission denied
CMake Error in CMakeLists.txt:
  Could not open file for write in copy operation
  /home/warindy/Develop/FluentUI/build/.qt/QtDeploySupport.cmake

-- Generating done (0.0s)
CMake Generate step failed.  Build files cannot be regenerated correctly.

使用sudo命令提升权限后cmake执行正常。但这会导致生成的build.ninja等文件的权限所有者变成root,导致我必须以root身份执行ninja。 尽管我可以提升自己的权限作为一个workaround,但似乎没有使用root身份进行开发的合理性。

我的Qt目录为:/home/wy/Qt/6.4.3/gcc_64 源码目录为:/home/wy/Develop/FluentUI build目录为:/home/w**y/Develop/FluentUI/build OS:Ubuntu 22.04.3 LTS x86_64 DE: GNOME 42.9 / X11

我没有在您的代码或者cmake文件中找到任何有关.qt目录的选项,这似乎是一个Qt的某种机制创建的目录。

我在自己开发的qml/cpp/cmake项目中没有遇到类似的问题。

如果能得到您的解答感激不尽。

zhuzichu520 commented 6 months ago

请问是执行了什么命令?我试了一下build中没有生成.qt文件夹。。额,可能我用的是Qt5.15.2,你换成5.15.2试试、、

warindy commented 6 months ago

确实,我切换到qT5.15.2就没有遇到权限问题了。可能是Qt6的某些新机制导致的。