【问题标题】:premake5 how to set up thread building blocks(TBB)?premake5 如何设置线程构建块(TBB)?
【发布时间】:2015-07-17 19:21:42
【问题描述】:

我正在尝试让 TBB 与 premake5 一起使用。

TBB 在其项目文件中有一些相当不标准的事情。

  1. 它在项目中包含 .asm 文件(premake5 似乎可以这样)

  2. .asm 文件对于 32 位/64 位等不同,因此需要根据体系结构排除某些文件。 TBB 通过在 VS 中使用“从构建中排除”标志来做到这一点,这样文件就会显示在项目中,但如果它们没有被标记为排除,则它们只是实际构建。我还没有看到任何方法可以在 premake5 中复制它。 Premake5 有“排除”,但它似乎完全从项目中删除文件,而不是将它们标记为未构建,当被平台过滤时,它似乎也不起作用。

  3. asm 文件标记为:Item Type = TBB 项目中的 Microsoft Macro Assembler。我不确定如何让 premake5 做到这一点。目前,当我将它们添加到我的 premake5 生成的项目中时,项目类型为空白。 TBB 也标记了它们 执行前:中 之后执行:CustomBuild

这似乎超出了 premake5 支持的范围,所以可能甚至不支持:/ ?

【问题讨论】:

    标签: premake


    【解决方案1】:

    它在项目中包含 .asm 文件(premake5 似乎可以这样)

    是的,应该没问题。

    .asm 文件对于 32 位/64 位等不同,因此需要根据架构排除某些文件。

    你会想做这样的事情:

    solution "MySolution"
       configurations { "Debug", "Release" }
       platforms { "x86", "x86_64" }
    
    project "MyProject"
        kind "ConsoleApp" -- or whatever set things up here
    
    filter { "platforms:x86" }
        files {
           -- 32-bit files go here
        }
    
    filter { "platforms:x86_64" }
        files {
            -- 64-bit files go here
        }
    

    asm 文件标记为:Item Type = Microsoft Macro Assembler in TBB's project。

    Premake 目前不这样做,也不会自动包含 MASM 规则,即probably also needed?可能值得opening a ticket,以便开发人员可以解决它。

    【讨论】:

    • 当我过滤文件时,它最终会包括所有文件。这两个 64/32 文件最终都在构建中,并且它尝试构建两个集合。
    • 哦,有一个“标志 {"ExcludeFromBuild"} 似乎可以工作。不幸的是,TBB 有如此复杂的构建系统,带有自定义构建规则和 MASM,premake5 没有希望构建它 IMO。只是打算手动构建 tbb:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多