【问题标题】:equivalent $(shell external_command) call on WindowsWindows 上的等效 $(shell 外部命令) 调用
【发布时间】:2017-03-21 17:53:34
【问题描述】:

我正在生成一个我想在 linux 和 windows 中工作的 makefile,它使用我想在我的代码中使用的 SVN 内部版本号创建一个定义的变量。 (注意:我不希望在 makefile 中硬编码构建版本,而是希望在构建项目时收集版本)

我通过'BUILDVERSION="$(shell svnversion)"'了解了如何在 Linux 中执行此操作

但是我如何在 Windows 中做到这一点?

我在 google 上搜索过“makefile $(shell) 在 windows 上等效”之类的东西,但找不到等效的调用。 (我对 makefile 的经验并不多,所以我什至不确定要搜索什么是好的关键字)

提前感谢您的任何建议。

【问题讨论】:

    标签: windows shell makefile cmd qmake


    【解决方案1】:

    如果您在 Windows 上使用 GNU make,那么您可以完全按照相同的方式进行操作。

    如果您使用其他品牌,例如nmake,那么我认为您做不到(但我不是 nmake 专家)。当然,除非您在两个系统上都使用可移植的 make(例如 GNU make),否则您将无法在 Linux 和 Windows 上使用相同的 makefile。

    【讨论】:

    • 我的项目正在 Qt 中开发。所以 qmake 处理为 windows 或 linux 生成 makefile。在我的 .pro 文件中,我将指定在 linux 机器上运行的 unix:DEFINES+='BUILDVERSION="$(shell svnversion)"'。对于 Windows,我正在寻找等效的调用...
    • 那么你应该在你的问题中添加一个“qmake”标签,因为它是特定于 qmake 的。我对 qmake 一无所知,但如果两个版本都使用 qmake,我不明白为什么相同的 makefile 不能在 Linux 和 Windows 上运行。
    猜你喜欢
    • 1970-01-01
    • 2019-01-16
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多