Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >QMAKE_EXTRA_COMPILER执行命令

QMAKE_EXTRA_COMPILER执行命令
EN

Stack Overflow用户
提问于 2013-09-17 08:11:02
回答 2查看 1.5K关注 0票数 1

在为QMAKE_EXTRA_COMPILER选项执行make时,是否存在任意分配订单的方法?似乎申报顺序似乎影响到了它,但它似乎行不通.

我有一堆fortran代码需要编译,然后存档到一个静态库中(使用ar命令),以供我正在构建的DLL使用。Iv在我的.pro文件中对此进行了精简,使一切都一蹴而就,但遇到了一些小麻烦。

以下是重要的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
win32 {
    gfortran.commands = gfortran $${FORTRAN_FLAGS} ${QMAKE_FILE_NAME} -c -o ${QMAKE_FILE_OUT}
    gfortran.input = FORTRAN_SOURCE
    gfortran.output = ../../src/SupMods/FireNetworkDLL/${QMAKE_FILE_BASE}.o
    gfortran.CONFIG = target_predeps
    QMAKE_EXTRA_COMPILERS += gfortran
}

win32 {
    archive.commands = ar -qsc ${QMAKE_FILE_OUT} $${FORTRAN_OBJ}
    archive.input = FORTRAN_OBJ
    archive.output = ../../src/SupMods/FireNetworkDLL/libORAN.a
    archive.CONFIG = combine target_predeps
    QMAKE_EXTRA_COMPILERS += archive
}

这只适用于time...no的一些想法--为什么。另外,FORTRAN_SOURCE只是所有fortran文件的列表(例如: fire.f95),$${FORTRAN_OBJ}是所有fortran .o文件的列表。

那么,有什么方法可以让我总是先从gfortran生成对象文件,然后按照ar命令进行操作吗?(我猜这与dependency_typedepends有关.)

另外,如果有人有一个更好的方法,我都是耳朵,第一次捣乱的qmake真的。

**这与变量FORTRAN_OBJ引用实际上在构建开始之前并不存在的.o文件有关吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-18 07:36:10

好吧..。最后只是将所有的对象文件添加到最终的DLL中,而不是使用静态库!早就该这么做了.

票数 0
EN

Stack Overflow用户

发布于 2013-09-30 22:18:12

qmake额外编译器的处理顺序取决于编译器的输入/输出变量的查询。例如,如果第一个编译器从变量A获取输入文件并将输出文件名写入变量B,而第二个编译器从变量B获取其文件,那么第一个编译器将在第二个编译器之前由qmake处理。

从您的来源中还不清楚如何填充FORTRAN_OBJ变量。从你报告的症状来看,我怀疑你用手填了这个变量。我建议不要。让QMAKE_EXTRA_COMPILER自动完成这项工作。

以下代码应该有效(未经测试):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gfortran.commands = gfortran $${FORTRAN_FLAGS} ${QMAKE_FILE_NAME} -c -o ${QMAKE_FILE_OUT}
gfortran.input = FORTRAN_SOURCE
gfortran.output = ../../src/SupMods/FireNetworkDLL/${QMAKE_FILE_BASE}.o
gfortran.CONFIG = target_predeps

# the only change required I guess
gfortran.variable_out = FORTRAN_OBJ

QMAKE_EXTRA_COMPILERS += gfortran 

archive.commands = ar -qsc ${QMAKE_FILE_OUT} $${FORTRAN_OBJ}
archive.input = FORTRAN_OBJ
# I suggest to use $$OUT_PWD here
archive.output = ../../src/SupMods/FireNetworkDLL/libORAN.a
archive.CONFIG = combine target_predeps
QMAKE_EXTRA_COMPILERS += archive

不要混淆处理顺序(通过qmake向Makefile生成规则)和执行顺序(运行make时执行规则)。通常,必须通过指定目标之间的依赖关系来仔细管理最后一个目标。但是在这种情况下,所有所需的依赖项都将自动生成,这是因为在默认情况下,qmake会为每一对对应的输入和输出文件生成一个依赖项。因此,在本例中,libORAN.a将依赖于FORTRAN_OBJ变量中的所有文件,这反过来将依赖于相应的源fortran文件,并保证事件的正确顺序。

如果你能读俄语,有更多关于QMAKE_EXTRA_COMPILERS 在我的博客里的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18854750

复制
相关文章
在 SwiftUI 中用 zIndex 调整视图显示顺序
本文将对 SwiftUI 的 zIndex 修饰符做以介绍,包括:使用方法、zIndex 的作用域、通过 zIndex 避免动画异常、为什么 zIndex 需要设置稳定的值以及在多种布局容器内使用 zIndex 等内容。
东坡肘子
2022/07/28
1.8K0
在 SwiftUI 中用 zIndex 调整视图显示顺序
在 Linux 终端调整图像的大小
ImageMagick 是一个方便的多用途命令行工具,它能满足你所有的图像需求。ImageMagick 支持各种图像类型,包括 JPG 照片和 PNG 图形。
用户4988085
2021/09/14
4.5K0
张量拼接_调整维度_切片
tf.concat的作用主要是将向量按指定维连起来,其余维度不变;而1.0版本以后,函数的用法变成:
狼啸风云
2019/07/01
1.3K0
Linux调整Swap大小
关闭swap swapoff -a 1.创建交换分区的文件:增加2G大小的交换分区 dd if=/dev/zero of=/var/swapfile bs=1M count=2048 2.设置交换文件 mkswap /var/swapfile 3.启用交换分区文件 swapon /var/swapfile 4.在/etc/fstab添加 echo '/var/swapfile swap swap defaults 0 0'>>/etc/fstab 5.检查 free -m
苦咖啡
2018/04/28
8.7K0
在SwiftUI中使用UIKit视图
已迈入第三个年头的SwiftUI相较诞生初始已经提供了更多的原生功能,但仍有大量的事情是无法直接通过原生SwiftUI代码来完成的。在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。
东坡肘子
2022/07/28
8.3K0
在SwiftUI中使用UIKit视图
调整JVM内存大小
JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能;Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用:
MonroeCode
2018/01/12
3.2K0
ECharts散点图大小调整
在业务需求中,有时候会遇到ECharts散点图,现在记录一下,今天解决了一个小问题,ECharts散点图大小调整。
王小婷
2019/05/07
5.1K0
ECharts散点图大小调整
小程序checkbox调整大小
.cb{ transform: scale(0.6,0.6); } <view> <label class="lab" for="box1"> <checkbox value="v1" checked class="cb"/>复选框 </label> </view>
苦咖啡
2018/04/28
4.1K0
InnoDB 缓冲池大小调整
从MySQL 5.7.5开始,我们可以动态修改InnoDB Buffer Pool的大小。这个新特性同时也引入了一个参数--innodb_buffer_pool_chunk_size,buffer pool会根据这个参数值的整数倍增加或减小。这个参数不是动态修改的,如果配置错误,可能会导致不想看到的结果。
田帅萌
2019/01/23
5.6K0
InnoDB 缓冲池大小调整
VMware 中 Linux 调整分区大小
Precondition :VMware Player 中安装的Fedora 17 Linux 32bit,个人较久远的测试环境,安装时没有进行磁盘规划,默认20G空间(动态调整),安装在根/下。 Background :在上述环境中安装IBM DB2 Express-C 10.5(v10.5fp1_linuxia32_expc.tar.gz),安装时/tmp空间不足,无法安装。 Plan:需要进行磁盘扩容。考虑到使用VMware Player虚拟机。
gigiwangs
2019/02/28
6.9K0
HPUX调整LUN大小识别更改
磁盘阵列通常允许调整 LUN 的大小,如果增加 LUN 的大小,请执行以下步骤将附加空间合并到卷组中: 1、按照阵列说明增加 LUN 的大小。 2、运行 vgmodify 检测任何物理卷大小更改。还将报告卷组能否使用所有空间。 3、如果 vgmodify 报告,每个物理卷的最大物理盘区数 (max_pe) 太小,无法容纳新增的空     间,请使用带 -t 和 -n 选项的 vgmodify 确定 max_pe 的新值,如“修改卷组参数” 4、按照新的设置运行带 -r 选项的 vgmodify 检查这些值。 5、停用卷组。 6、提交 max_pe 的任何新值,运行不带 -r 选项的 vgmodify 更新物理卷信息。 7、激活卷组。运行 vgdisplay 和 pvdisplay 命令验证增加的空间是否可用。
星哥玩云
2022/06/30
1.5K0
python 调整图片大小 脚本
infile = 'D:\original_img.jpg' outfile = 'D:\adjust_img.jpg' im = Image.open(infile) (x,y) = im.size #read image size x_s = 250 #define standard width y_s = y * x_s / x #calc height based on standard width out = im.resize((x_s,y_s),Image.ANTIALIAS) #resize image with high-quality out.save(outfile)
用户5760343
2022/05/13
2K0
Markdown 调整图片位置与大小
使用 Markdown 编写文档或博客时,经常需要对图片的位置与尺寸进行调整。 插入图片后,Markdown 表示图片的语法格式如下: ![图片描述](图片URL地址) 调整图片位置 居左 (1)方法一:添加位置标识。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200822014538211.png#pic_left) (2)方法二:嵌入 HTML 代码。 <div align="left"> <img src=https://img-blog.csdnimg.c
恋喵大鲤鱼
2020/08/24
43.3K0
Markdown 调整图片位置与大小
Visio如何调整锁定图像大小
在Visio中,比如模板中的UML类图,是不可调整大小的,这可能给我们设计图片带来了一些不便之处,如下图: 可以看到其边框是显示锁定状态无法修改的,当我们在左下角修改器长宽时,也会出现不可修改的情况。
码农阿宇
2018/04/18
4.5K0
Visio如何调整锁定图像大小
通过修改样式调整trtccalling 视图
总体思路就是通过添加点击事件,给流播放节点动态添加样式,来实现视角切换。拿web 端 Demo来举例就是,通过点击,修改flex来实现两个dom的切换。
良人
2022/03/25
3350
调整分区大小后分区丢失的数据
盘符不见是比较常见的数据恢复案例,需要注意,盘符不见后不要再重建新的分区。保护好文件丢失现场,可以最大程度的恢复出文件。具体的恢复方法看正文了解。
用户10127983
2023/04/09
1.8K0
joplin调整markdown展示字体大小
joplin怎么调整字体大小呢?我相信比较少有人听过joplin,joplin是一个小众的笔记软件(https://joplinapp.org/)。但小编已经用了很久了。joplin的字体有时有点小,那么joplin怎么调整字体大小呢,下面就让小编带大家一起了解吧。 joplin在设置界面没有看到调整markdown字体的选项,那joplin怎么调整字体大小呢?原来调整字体大小只需要改它,下面一起看小编的操作吧。 joplin改markdown字体大小,只需要在外观-编辑 custom stylesheet 的 css。
超级大猪
2020/07/03
6.5K1
ggplot2 调整绘图区域大小
熟悉 R 绘图的朋友肯定知道,在普通绘图中,图片的大小可以直接在 png() 和 pdf() 中指定,而绘图区大小则可以用 par() 中的 mar 或 mai 来指定。 但是在 ggplot2 中,图片大小依然可以在 png 和 pdf 中设定,但是边界大小, par 函数似乎就不奏效了。至今天探索,才发现原来这个参数隐藏在 theme 中,其名为 plot.margin 。
章鱼猫先生
2021/10/15
19K0
ggplot2 调整绘图区域大小
干货分享|Windows系统调整分区大小
你是否遇到C盘空间太小系统运行速度减慢的情况,想增加C盘空间怎么办?你是否遇到某个磁盘空间不够用,而相邻分区磁盘空间用不完的情况,你想调整两个磁盘大小怎么办?
吾爱运维
2022/09/29
4.1K0
干货分享|Windows系统调整分区大小
Excel小技巧63:调整工作表中所有图表的大小并保持相同
在创建图表时,Excel会使用默认的大小。有时候,我们想将工作表中所有图表的大小进行调整,使其更小些或者更大些。可以通过逐个图表手动拖拉进行调整,然而,这样调整出来的图表大小总会稍有差异。要想使图表的大小保持一致,有多种方法,除了VBA外,下面介绍两种快捷的方法。
fanjy
2020/11/06
6.4K0

相似问题

如何使用DragGesture()在SwiftUI中调整形状大小限制?

28

如何调整滚动视图的大小,使其适合屏幕上的所有内容?

30

在调整NSWindow大小时自动调整所有视图的大小

24

调整视图大小,使其他视图不可见

20

如何防止SwiftUI视图在滚动时调整大小

111
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文