相关疑难解决方法(0)

如何使用驻留在生成的Makefile中的INSTALL_ROOT?

qmake 生成以下(以及其他)安装目标的规则:

-$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/$(TARGET)"
Run Code Online (Sandbox Code Playgroud)

我不能INSTALL_ROOT*.pro文件中设置这样的东西

isEmpty(INSTALL_ROOT) {
    INSTALL_ROOT=/usr
}
Run Code Online (Sandbox Code Playgroud)

因为INSTALL_ROOT在某种程度上是生成Makefile的本地.根据我发现到目前为止INSTALL_ROOT默认是空的.它可以像

INSTALL_ROOT=$HOME make install
Run Code Online (Sandbox Code Playgroud)

在调用make时,这很好.但是,我希望能够指定默认安装根/usr.我可以PREFIX按照这里的建议引入一个新变量.然后生成的规则看起来像(如果PREFIX设置为/usr)

-$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/$(TARGET)"
Run Code Online (Sandbox Code Playgroud)

然而

INSTALL_ROOT=$HOME make install
Run Code Online (Sandbox Code Playgroud)

安装/home/<user_name>/usr/$(TARGET)不符合预期的目标.

因此设置INSTALL_ROOT为某个默认值将产生一致的行为,这比添加更好PREFIX,但如何INSTALL_ROOT*.pro文件中设置?

INSTALL_ROOT它应该被用于什么目的是什么?

qt qmake

7
推荐指数
2
解决办法
7685
查看次数

qmake设置安装目录

我正在尝试将Qwt构建到自定义位置。显然要尝试的是一个PREFIX选项,但它没有效果,make install仍然失败:

$ qmake qwt.pro PREFIX='/my/path'
$ make
$ make install
mkdir: cannot create directory `/usr/local/qwt-5.2.3': Permission denied
Run Code Online (Sandbox Code Playgroud)

这个问题似乎还有许多其他问题和答案,它们也没有效果并且失败:

还有其他建议吗?


QMake 版本 2.01a在 /opt/Qt4/4.5.2/qtsdk-2009.04/qt/lib RHEL 5.10
中使用 Qt 版本 4.5.3

qt qmake makefile qwt

5
推荐指数
1
解决办法
8065
查看次数

Qmake Qt:将Header文件移动到build文件夹

我是Qt的新手,拥有C#背景.

我正在为一些项目创建Dym Libs.我希望在编译期间将Header文件移动到build文件夹,或者知道如何在lib中包含Header文件.

有关如何使我的lib成为完整包而无需复制/粘贴头文件或最佳分发方法的任何建议都会很棒.

干杯

c++ qt qmake

2
推荐指数
1
解决办法
1079
查看次数

标签 统计

qmake ×3

qt ×3

c++ ×1

makefile ×1

qwt ×1