如何解决在其他文件夹中安装qt应用程序
我想安装到INSTALL_ROOT
的qt应用程序中。
当前目标是在pro
下的target.path
文件中进行硬编码的,但是我想在运行时获取目标:
make install INSTALL_ROOT=/root/parts/myapp/install
如何从qt的make install
脚本访问.pro
的命令行参数?
解决方法
设置INSTALL_ROOT变量似乎对我有用。如果我将target.path设置为/ usr / local / bin,则可以从qmake将其放入生成的Makefile中:
$(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)
似乎INSTALL_ROOT放在target.path之前。所以我用这样的示例应用程序进行了测试:
main.cpp:
#include <stdio.h>
int main(int,char**)
{
return printf("HELLO!\n") > 0;
}
test.pro
QT += core
SOURCES += main.cpp
target.path = /
INSTALLS += target
然后:
$ qmake
$ make
g++ -c -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o main.cpp
g++ -Wl,-O1 -o test main.o /usr/lib/libQt5Gui.so /usr/lib/libQt5Core.so -lGL -lpthread
$ INSTALL_ROOT="$PWD/out" make install
/usr/bin/qmake -install qinstall -exe test /home/luca/tmp/test/out/test
strip /home/luca/tmp/test/out/test
$ ./out/test
HELLO!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。