使用管理员权限运行QtCreator的方法

重装opencv时需要使用管理员权限在Qt中进行编译。搜索了使用管理员权限运行Qt的方法。主要参考以下博客。

  1. 关于Qt中sudo的权限问题
  2. linux下面使用root运行QTcreator
  3. QT以root权限run/debug(QtCreator如何运行程序时赋予root权限) (最好最详细)

综合上述文章,在Qtcreator安装目录中以sudo权限运行qtcreator.sh,即可以管理员权限编译项目。成功编译opencv。

[warning]以root权限运行过一次的项目此后其所有权都会变为root用户,若再次以普通用户启动该项目,关闭项目时会出现"无法覆盖文件 /home/xxx/.config/Qtcreator/qtversion.xml : Permission denied”的错误。
与项目无关,不深究。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 操作系统,可以使用以下方法管理员权限运行 Qt 程序: 1. 手动以管理员身份运行 Qt 应用程序 可以通过右键单击 Qt 应用程序的可执行文件或快捷方式,然后选择“以管理员身份运行”来手动以管理员身份运行 Qt 应用程序。 2. 使用 Qt Creator 设置管理员权限Qt Creator ,可以通过在项目的“构建和运行”设置选择“以管理员身份运行”选项来设置 Qt 应用程序以管理员权限运行。 3. 使用 C++ 代码设置管理员权限 可以在 C++ 代码使用 Windows API 函数来设置 Qt 应用程序以管理员权限运行。例如,可以使用以下代码来获取当前进程的句柄并以管理员权限运行: ``` #include <Windows.h> int main(int argc, char *argv[]) { // 获取当前进程句柄 HANDLE hProcess = GetCurrentProcess(); // 以管理员权限运行 if (!OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, &hToken)) { // 处理错误 return 1; } TOKEN_PRIVILEGES tp; ZeroMemory(&tp, sizeof(tp)); tp.PrivilegeCount = 1; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid)) { // 处理错误 return 1; } if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL)) { // 处理错误 return 1; } // 运行 Qt 应用程序 QApplication a(argc, argv); // ... return a.exec(); } ``` 以上是一些常用的方法,你可以根据具体情况选择合适的方法来以管理员权限运行 Qt 程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值