【问题标题】:Ubuntu 14.04 LTS x86-64bit Qt Creator 3.0.1 Kit Qt 4.8.6 Failed to start program. Path or Permissions Wrong?Ubuntu 14.04 LTS x86-64bit Qt Creator 3.0.1 Kit Qt 4.8.6 无法启动程序。路径或权限错误?
【发布时间】:2016-06-21 14:26:05
【问题描述】:

我正在尝试在 Qt Creator 3.0.1 版中运行一个程序,该程序使用 Qt 4.8.6 在 64 位版本的 Ubuntu 14.04 上编译。我搜索了与该主题相关的其他帖子,很可能是 32 位和 64 位可执行文件之间存在冲突。然而,令我惊讶的是,该程序在两个小时前在完全相同的环境中运行良好,没有任何问题。

返回的错误是:

Failed to start program. Path or permissions wrong?

再次,我知道 32 位和 64 位的东西可能存在问题。我用 ldd 检查了可执行文件,我得到了:

not a dynamic executable

这告诉我可执行文件无法运行。但我仍然不知道为什么,因为正如我所说,我在两个小时前运行了该程序,并且运行良好。

【问题讨论】:

  • 知道发生了什么变化吗?您是尝试通过 QtCreator(例如 ctrl+r)运行程序,还是单独从终端命令行 ./myProgram 运行程序?你可以使用file命令告诉你文件是32位还是64位...
  • 我真的不知道发生了什么变化。我一直在玩 sudo apt-get 以确保一切正常,所以可能那里发生了一些事情。
  • 你能在你的可执行文件上运行file 命令吗?您应该得到一些输出,例如:$ file program(程序是您的可执行文件),然后:program: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped(将该示例从 wiki 中删除。否则,如果它是安装问题 - 可能更难跟踪,但可能值得编译/build 在不同的 PC 上,或者更简单的干净的 ubuntu virtualbox,从头开始设置只需要几个小时......
  • 同样值得转到您的可执行文件并从命令行/终端(不在 QtCreator 中)手动运行它,例如:cd /path/to/my/executable/ 然后./program。如果没有运行,请检查(在同一文件夹中)ls -l 的权限并报告。该文件应该具有执行权限...如果它具有权限,则执行chmod 777 program 以赋予它完全权限+可执行文件。

标签: c++ qt ubuntu


【解决方案1】:

事实上,我现在相当确定它是以下之一:

尝试(其中program 是您的可执行文件的名称):

  • 在终端cd /path/to/your/executable。然后`./program'
    • 如果这不起作用,请执行 sudo chmod 777 program 并重试。
  • 如果 / 当您在终端中运行此程序时,请尝试查看 Projects --> General --> Build Directory 下的 QtCreator 构建路径并检查此路径是否正确。
  • 在 QtCreator 中检查 Run Settings --> Working Directory

可能是您在以管理员身份运行之前以普通用户身份运行 Qt(反之亦然),因此您的路径已更改或权限不同。

我浏览了网络,也发现了类似的问题,这在我看来是一样的,我确实记得曾经以管理员身份运行过类似的事情......

【讨论】:

  • 谢谢。我做了 sudo chmod 777 后发现它起作用了。您的回答已被接受!
  • 啊太好了!,是的,我突然明白了——我以前遇到过这样的问题,特别是如果在 linux 平台上与不同用户一起使用 QtCreator ......你可以用 @ 查看用户和组987654326@ 查看哪个用户创建了该文件(即,为您提供有关“破坏”权限所做的工作的线索,可能类似于 sudo - 就像以 sudo 运行 QtCreator 一样,当您将其运行为之后的普通用户)...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多