Vulkan.hpp在一个系统上编译而不在另一个系统上编译

时间:2019-10-12 17:59:50

标签: linux compiler-errors compilation vulkan premake

我具有以下通用功能:

std::flush

问题是/尽管我以为我指示premake5在项目的本地目录下使用该版本,但它正在使用系统的已安装版本。版本不匹配意味着我使用的是旧的vulkan.hpp标头,而不是我需要的标头。 我暂时用来将唯一的句柄数组转换为非唯一的数组。这段代码可以在我的台式机(arch linux)上很好地编译,但是在我的笔记本电脑(ubuntu)上却出现错误:

template <typename U>
auto CastVkArray(std::vector<U> &unique_handles)
{
    std::vector<typename U::element_type> handles;
        for(auto &u_handle : unique_handles) handles.push_back(*u_handle);
    return handles;
}

我使用premake 5生成我的构建环境,并且脚本在这两个系统之间没有变化。我检查了所有正在使用的库的版本,尤其是确保两台计算机之间的vulkan sdk相同。

我多次删除并重建代码以测试编译中的潜在竞争条件(只是查看是否有任何更改),错误始终相同。

我发现的一个区别是,在arch中报告的premake版本是5.0.0-dev,但在ubuntu上是5.0.0-alpha14

但是我无法在premake的官方github仓库上找到开发版本。

0 个答案:

没有答案