问题标签 [premake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
premake - 如何获取 system() 的值?
如何在 premake5 中获取 system() 的当前值?(以及更普遍的功能,如架构()或平台())
我试图打印它,但它是一个函数,当我尝试打印 system() 的返回值时,我得到“'tostring' 的错误参数 #1(预期值)”。
lua - Premake5 不会在 FreeBSD 10.1 上构建
我正在尝试从源代码在 FreeBSD 10.1 上构建 Premake5。我最终通过删除“-dl”选项并明确使用 gmake 进行编译来编译它。它构建了,但除了吐出以下错误消息外,我什么也做不了。不管我如何调用它。它甚至在“premake5 --help”上也会崩溃。
这是消息:
PANIC:调用 Lua API 时出现不受保护的错误(尝试调用字符串值)
macos - 如何安装/运行 premake4
我正在尝试在 mac osx 上安装 premake4,但在任何地方都找不到任何文档和任何帮助。如果有人可以帮助我,我将不胜感激。
我已经下载/保存了premake-4.4-beta5-macosx.tar.gv
文件,当我双击它时,它给了我一个名为 premake4.h 的文件。当我双击它时,它打开了一个页面(如果我没记错的话,是一个终端),其中包含以下内容:
我无法在此输入或更改任何内容。我尝试在终端中输入没有单引号的“premake4 --help”,但它说找不到命令。我不知道还能做什么。:(
premake - 混合共享库和静态库
我正在使用 premake5 在多个平台上构建复杂的应用程序。我的应用程序链接到静态和共享/动态外部库。在这种情况下,似乎有重要的构建链依赖关系会破坏 premake 生成的“gmake”make 文件。
恰当的例子:
如果您在 premake 'link' 语句中混合使用共享库和静态库,GCC 似乎会感到困惑,并希望您的共享库引用实际上是静态库。当它找不到它们时,链接阶段会失败。这通常通过在您的共享库前加上“-Bdynamic”来处理。不幸的是,没有办法告诉 premake5 外部链接库是静态的还是动态的,因此您必须手动修复 make 文件,这违背了构建实用程序的目的。
这是一种炫耀。我认为您不能只将“-Bdynamic”输入链接选项,因为它后面必须跟共享库列表。
premake - premake5 预编译头文件不起作用
(这是使用 Premake5 alpha 二进制文件,可在网站上下载)
我正在尝试将我现有的 VS 解决方案移植到使用 premake5。
它使用 MS 风格的预编译头文件(stdafx.h/stdafx.cpp)。
当我指定这是我的测试项目时:
它确实将项目设置为使用预编译头文件,但没有设置 stdafx.cpp 以生成预编译头文件(/Yc)。相反,项目中的所有文件都在尝试使用(/Yu)并且没有人生成 PCH。所以它没有建立..
我猜这确实有效,我在这里缺少什么黑魔法?
这是我的整个 premake5 文件供参考
一个相关问题:如何禁用项目中特定文件的预编译标头使用?如果包含 PCH,我的某些文件将无法构建,因此我已在现有解决方案/项目中手动禁用它们。
谢谢!
premake - premake5 how to set up thread building blocks(TBB)?
I'm trying to get TBB to work with premake5.
TBB has some fairly non-standard things going on in its project files.
It includes .asm files in the project(premake5 seems ok with this)
The .asm files are different for 32bit/64bit etc, so some files need to be excluded depending on the architecture. TBB does this by using "exclude from build" flag in VS, this way the files show up in the project, but are only actual build if they aren't flagged as excluded. I'm not seeing any way to replicate this in premake5 yet. Premake5 has "excludes" but it seems to completely remove the files from the project instead of marking them as not built, it also appears to not work when filtered by platforms.
The asm files are marked as: Item Type = Microsoft Macro Assembler in TBB's project. I am not sure how to make premake5 do this. Currently when I add them to my premake5 generated project, Item type is blank. TBB also marks them Execute Before: Midl Execute After: CustomBuild
This seems like it might be beyond what premake5 supports, so maybe this isn't even supported:/ ?
premake - 使用premake 5制作相对于根文件夹而不是项目位置的包含目录?
我正在使用最新的 premake 5 alpha 生成 Visual Studio 项目,我的项目结构如下所示:
预制脚本:
我已经设置了我的 premake 脚本,以便使用 location 函数在我的根目录的项目文件夹中生成项目文件。我使用了includedirs 函数在我的根文件夹中添加了include 文件夹。我已将其指定为相对于 premake 脚本。当我在 Visual Studio 中查看项目中的包含目录时,这些目录相对于生成项目的文件夹。在这种情况下,它将是“....\include”。最终发生的是,如果我尝试将 Window.h 文件包含在 Window.cpp 文件中,则无法找到它。
如果我直接在根文件夹中生成解决方案和项目文件,我可以让一切正常工作。如果可能的话,我想避免这种情况。
有没有办法修改我的脚本,以便我可以在嵌套文件夹结构中组织我的源代码,同时在 Visual Studio 的单独文件夹中生成我的项目文件?
谢谢!
premake - 根据平台工具集配置 premake 脚本目录和库
我正在尝试将我的 Visual Studio 项目文件转换为使用 premake 为不同的 Visual Studio 版本生成解决方案。
我想为每个库编写配置函数,以便根据平台工具集设置不同的包含目录、库目录和 dll。我尝试使用配置或过滤命令,但这不起作用,而是将所有库和目录包含到我的项目中。
下面是我正在尝试做的一个简化示例。
我应该怎么做这样的事情?
谢谢!
premake - 如何防止项目生成?
在描述项目的 premake5.lua 文件中,我怎么知道它不应该在某些条件下(系统、架构......)生成?
visual-studio-2013 - Premake:如何防止元素被添加到 VS2013 项目文件中?
我将所有源文件保存在一个单独的位置,以保持我的后备箱清洁和井井有条。我只是在我的 lua 文件中指向这个“源代码”位置,但将我的“位置”设置为一个完全独立的“构建”目录。在大多数情况下,这会产生我想要的行为类型,并且似乎是一个优雅的解决方案。除了...
当我运行 premake 生成项目文件时,它会为包含的每个(编译元素)文件创建链接元素。因此,在打开解决方案文件时会创建一个无关文件夹。该文件夹不再使用。
生成的项目文件的摘录:
在 VS2013 中打开解决方案后,会创建一个“bin”和“obj”文件夹(根据需要)。但是还创建了一个额外的“SourceCode”目录(及其子目录),但从未再次使用过。是否有一个标志我可以用来简单地告诉 premake 不要在项目文件中包含链接块?
我正在使用premake5。
这是我的目录结构的设置方式:
模板解决方案文件,“solution-Template.lua”:
模板项目文件,“project-Template.lua”:
模板配置文件,'configurations-Template.lua':
然后,我将在 \trunk\premake 的命令提示符下运行以下命令:
这会导致在我的 \trunk\builds\ 目录中创建一个文件夹,并在其中为每个项目创建一个文件夹。这正是我想要的(并保持我的行李箱井井有条)。但是,在 VS2013 中打开解决方案文件时,会自动创建我的 SourceCode 目录的文件夹以及 bin 和 obj 文件夹,但它们根本不用于任何事情。据我所知,这是因为 Link 元素被添加到项目文件中。