qt - 在构建主目标之前,Qmake 在阻塞主目标的同时构建另一个源
问题描述
在 qmake 执行自己的执行以构建主要目标之前,我想清理编译另一个不同的源并安装它的库。以下链接很好地解释了它,但我遇到的问题是我想生成多个头文件和库,并且我希望该构建阻止 qmake 操作。在我看来,使用这两种方法都不会阻止主要的 qmake 执行。
方法1(main-app.pro):
...
extralib.target = extra
extralib.commands = cd $$ANOTHER_PROJECT_DIR; \
make clean && make && make install; \
extralib.depends = FORCE
QMAKE_EXTRA_TARGETS += extralib
PRE_TARGETDEPS = extra
方法2(main-app.pro):
...
TO_GENERATE = $$HOME/myapi/include/a.h $$HOME/myapi/include/b.h
custom_generator.output = $$HOME/myapi/include/a.h $$HOME/myapi/include/b.h
custom_generator.commands = cd $$ANOTHER_PROJECT_DIR; \
make clean && make && make install;
custom_generator.depends = FORCE
custom_generator.input = TO_GENERATE
custom_generator.variable_out = SOURCES
QMAKE_EXTRA_COMPILERS += custom_generator
在其他一切之前,我希望 qmake 进入我的主要构建所需的$$ANOTHER_PROJECT_DIR
、do make clean && make && make install
、create$$HOME/myapi/lib
和。$$HOME/myapi/include
请记住,我不能使用 SUBDIRS,因为库使用 GNU Make,而我的主要构建使用 QMake。
目前发生的是库构建命令启动,QMake 立即决定继续主构建,而不是等待库完全完成构建和安装。
任何建议都非常感谢。
解决方案
推荐阅读
- wordpress - wordpress 页面中的资产链接是如何建立的?移到 docker 后我得到的是 http 而不是 https
- android - 清除 Android 导航组件中的返回堆栈
- google-cloud-platform - GCP Python SDK - 在没有 gcloud 的情况下启用 API
- php - 获取数据后如何选择下拉列表
- reactjs - 顺风CSS渐变问题
- linux - Bash:使用 bash 脚本抓取文本文件以查找电话号码
- javascript - 如何自动调用类中的函数
- ios - Getting an image-related exception when using a ListWheelScrollView in Flutter
- android - Android Kotlin - 在工具栏内设置徽标
- postgresql - 针对真实 postgres 数据库的 Spring Boot 集成测试