没有找到 moc 命令?

没有找到 moc 命令?

在我的 Gentoo 系统上,我从来没有遇到过这个问题,并且我moc像在终端中运行任何其他命令一样运行。我最近切换到 Fedora 15/16 并注意到运行moc不起作用。我明白了bash: moc: command not found...。相反,我必须给出它的完整路径,/usr/lib64/qt4/bin/moc.

  1. 我想知道为什么 Fedora 的人没有设置这个,所以调用moc就可以在不给出完整路径的情况下工作(或者,也许我做了一些破坏?)

  2. 由于我对非 Gentoo 系统非常陌生,我想知道一种通用的调用方式,moc以便它可以在任何 *nix 系统上工作。

答案1

为了能够在不指定完整路径的情况下运行应用程序,安装可执行文件的目录必须位于$PATH变量中。您可以$PATH使用 来检查其中的内容echo $PATH。要修改,$PATH您可以使用export PATH=$PATH:/usr/lib64/qt4/bin/.之后您就可以使用刚刚moc启动它。要使更改永久化,您可以将该行放入您的~/.bashrc文件中。

答案2

兼容性 我来宾,就我而言,我在使用 Debian Jessie 的笔记本电脑中遇到了这个问题,正确的做法是:

aptitude install qt4-qtconfig

用户@主机$ moc

moc:无法执行'/usr/lib/x86_64-linux-gnu/qt4/bin/moc':没有这样的文件或目录

根据 /usr/share/doc/moc/README.Debian 我们需要运行:

user@host$mocp 

除此之外,您还可以使用主题并在 >.moc 目录中创建自己的配置文件,您可以在 .bashrc 中使用别名

alias moc='mocp -T yourtheme '

答案3

1)我想知道为什么 Fedora 的人没有设置这个,所以调用 moc 就可以工作而无需给出其完整路径(或者,也许我做了一些破坏?)

这应该是为了向后兼容 Qt3。

2)由于我对非Gentoo系统非常陌生,我想知道一种调用moc的通用方法,以便它可以在任何*nix系统上工作。

您可以使用pkg-config

pkg-config --variable=moc_location QtCore 

相关内容