我用下面的命令来安装一些东西.
qmake PREFIX=/path/to/my/dir
make
make install
Run Code Online (Sandbox Code Playgroud)
但是我给出的路径是错误的,如何将PREFIX更新到正确的位置并删除旧的安装,然后重新安装?
我试过了:
rm -rf /path/to/my/dir/bin # this is where the program being installed
qmake PREFIX=/path/to/correct/dir
make
make install
Run Code Online (Sandbox Code Playgroud)
但它仍然安装在旧路上.
对于 ~ QT 5:
在qmake安装目录中的标准安装规则来自qmake变量target.path.
通常,qmake不使用名为 的设置PREFIX,尽管因为这是 Unix 中用于目标安装目录的传统术语,所以对于特定项目来说,创建自己的PREFIX变量以在其项目文件 ( *.pro) 中使用是一个足够流行的约定。
查看.pro项目的文件并找出target.path设置的位置。如果它是从环境变量设置的,即
target.path = $$(PREFIX) # note the regular parentheses
Run Code Online (Sandbox Code Playgroud)
然后你可以在你运行的环境中传递值qmake:
$ PREFIX=/path/to/my/dir qmake
Run Code Online (Sandbox Code Playgroud)
如果它是从qmake属性设置的,即
target.path = $$[PREFIX] # note the square brackets
Run Code Online (Sandbox Code Playgroud)
然后您可以qmake在命令行上为将来的运行持久设置属性:
$ qmake -set PREFIX /path/to/my/dir
Run Code Online (Sandbox Code Playgroud)
如果它是从内部变量设置的,它将看起来像
target.path = $$PREFIX
Run Code Online (Sandbox Code Playgroud)
或者
target.path = $${PREFIX} # note the curly braces
Run Code Online (Sandbox Code Playgroud)
无法qmake从命令行覆盖内部变量的值;您需要找出.pro文件中内部变量的设置位置并进行适当的更改,也许只是编辑.pro文件,或者那里是否存在某种逻辑,弄清楚如何让它选择不同的值。