如何处理makefile让其生成的文件带上当前系统时间?

如何处理makefile让其生成的文件带上当前系统时间?,第1张

FileDate=`date "+%d_%B_%Y"`

libexe=prefix_$(FileDate).a

goal:

@echo "Linking"

@echo $(libexe)

`是1左边那个键

用QT Creator生成的文件进行编译时出现错误,网上查找说是要修改生成的Makefile文件,在CFLAGS和CXXFLAGS中添加“-fno-rtti”编译参数。这样每个Makefile文件都要修改,很麻烦。那么能不能在生成Makefile时自动加上呢。可以,只需要修改qmake的配置即可!

以下为解决方法(也可供同类问题参考):

1、#sudo gedit Makefile 查看生成的Makefile。在其中找到Makefile: mycom.pro /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf 。

这就是要修改的配置文件

2、#sudo gedit /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf

找到要修改的项并修改QMAKE_CFLAGS = -fno-rtti -pipe,QMAKE_CXXFLAGS = $$QMAKE_CFLAGS(说明引用QMAKE_CFLAGS)

那么这就完成修改。保存退出即可。

1、这条语句的意思是:在编译C文件时,传入编译日期和编译时间,分别用__VERDATA__和__VERTIME__表示,实际上是date命令的执行结果。

用来表示版本的生成日期和时间。

2、既然是作为编译宏传入C文件的,当然可以在C文件里直接使用,要问为什么,那是因为一些C编译器是这么规定的。

3、在C文件里调用的方法:把它们当作字符串常量使用,比如在打印版本日期时,可以这么调用:printf("Version date:%s", __VERDATA__)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11662181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存