2

我正在使用 premake5 在多个平台上构建复杂的应用程序。我的应用程序链接到静态和共享/动态外部库。在这种情况下,似乎有重要的构建链依赖关系会破坏 premake 生成的“gmake”make 文件。

恰当的例子:

如果您在 premake 'link' 语句中混合使用共享库和静态库,GCC 似乎会感到困惑,并希望您的共享库引用实际上是静态库。当它找不到它们时,链接阶段会失败。这通常通过在您的共享库前加上“-Bdynamic”来处理。不幸的是,没有办法告诉 premake5 外部链接库是静态的还是动态的,因此您必须手动修复 make 文件,这违背了构建实用程序的目的。

这是一种炫耀。我认为您不能只将“-Bdynamic”输入链接选项,因为它后面必须跟共享库列表。

4

1 回答 1

2

似乎是 gmake 操作中的错误(或至少缺少功能)对于那些,最好的方法是转到 Github 上的 Premake 页面(https://github.com/premake/premake-core)并创建一个新问题.

如果您有时间提供一个小型可复制项目(一个静态库项目、一个动态项目和一个同时使用两者的应用程序,每个项目只有 1 个 cpp 或一些简单的东西 + 预制脚本)并将其附加到问题上,它也将不胜感激(并且更容易处理这个问题^^)

于 2015-07-10T07:24:33.917 回答