qt - 您如何检查您是否处于交互式 qmake 会话中?我想使用 qmake prompt()
问题描述
我想用这个 mockup.pro 文件进行交互式“qmake -makefile 会话”:
message("Plugin setup,")
message("choose the plugins you want to be compiled :")
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"){
SUBDIRS+= dummy
}
从交互式 shell 启动时这很好,但是 AFAIK,qmake 从“编译输出”窗格中的 QtCreator 输出启动,并且不是交互式的,因此提示块。
这支持吗?
QMake 3.1、QtCreator 4.11
当我检查时:
IS_INT = $$system(echo $-)
IS_INT 始终为空,即辅助 shell 不是交互式的。
解决方案
正如@hyde 所建议的那样,并且在另一个方向上,为了不打扰打包者或建立农场,将允许用户使用标志 CONFIG+=INTERACTIVE_QMAKE 获得指导。
INTERACTIVE_QMAKE{
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"):{
SUBDIRS+= dummy
}
}
!INTERACTIVE_QMAKE{
# The plugins you want compiled by default
SUBDIRS+= dummy
}
CMake 正在为 Qt6 开发,这将做到这一点。
推荐阅读
- spring - spring data jdbc有没有办法避免n+1问题?
- java - 如何在 Java AWT 中监听两个单独的按钮?
- excel - 从组合框中保存值,然后清除组合框
- c# - 根据数据库中的值拆分字符串
- ffmpeg - 通过将视频并排放置,将两个视频设备合并到第三个设备中
- powerbi - 如何在 PowerBI 中比较一个表中的列与另一个表中的列
- python-3.x - cv2 等待键(希望根据延迟使其可变)
- java - 如何使单个函数返回提供的数组和值的数组?
- r - 标量乘以r中的两个data.frames
- typescript - 我需要在 React Native 中创建一个下拉子菜单