gpt4 book ai didi

c++ - 带有 C++ 的 OS X 中的 SIMD Sony vector 数学库

转载 作者:太空狗 更新时间:2023-10-29 21:30:37 24 4
gpt4 key购买 nike

我目前正在为一项任务编写一个非常简单的游戏引擎,为了让代码更漂亮,我决定使用 vector 数学库。我的一位讲师向我展示了 Bullet Physics 引擎中使用的 Sony Vector Math 库,据我所知它非常棒。我已经让它在 Linux 上运行良好,但我在将它移植到 OS X(英特尔、雪豹)上时遇到了问题。我已将这些文件正确包含在我的项目中,但库的 C++ 版本似乎无法编译。我可以让库的 C 版本工作,但与 C++ 版本相比,它有一个相当讨厌的 API,使用这个库的全部原因首先是为了整理代码。

http://glosx.blogspot.com/2008/07/sony-vector-math-library.html

我偶然发现的这篇博文似乎暗示编译器出了问题?它相当短,所以我无法从中获取很多信息。

当我尝试使用 C++ 版本时,出现以下错误(每个错误的扩展 View ):

/usr/include/vectormath/cpp/../SSE/cpp/vectormath_aos.h:156:0
/usr/include/vectormath/cpp/../SSE/cpp/vectormath_aos.h:156:
error: '__forceinline' does not name a type

第二个错误:

/Developer/apps/gl test/main.cpp:7:0 In file included from /Developer/apps/gl test/main.cpp

/usr/include/vectormath/cpp/vectormath_aos.h:38:0 In file included from
/usr/include/vectormath/cpp/vectormath_aos.h

/usr/include/vectormath/cpp/../SSE/cpp/vectormath_aos.h:330:0 In file included from
/usr/include/vectormath/cpp/../SSE/cpp/vectormath_aos.h

/usr/include/vectormath/cpp/../SSE/cpp/vecidx_aos.h:45:0 Expected constructor, destructor,
or type conversion before '(' token in /usr/include/vectormath/cpp/../SSE/cpp/vecidx_aos.h

最后在main.cpp文件末尾有两个错误:

Expected '}' at the end of input
Expected '}' at the end of input

我已经用谷歌搜索了我的心,但我似乎无法找到任何答案或任何东西来指出我正确的方向,所以任何帮助都会得到很大的帮助。

谢谢,

最佳答案

__forceinline 是一个保留字,只有几个编译器支持。显然,您的编译器不支持 __forceinline 关键字,并且相关代码不可移植。

一个非常糟糕的解决方法是将一个新的定义传递给您的编译器,为关键字赋予正确的含义。 例如:-D__forceinline=inline-D__forceinline=__attribute__((always_inline))(感谢 Paul!)

关于c++ - 带有 C++ 的 OS X 中的 SIMD Sony vector 数学库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com