我正在尝试将一些代码从Linux移植到Windows,但我遇到了麻烦。
这一行:
uint8_t patch_[patch_size_*patch_size_] __attribute__ ((aligned (16)));
给了我:
Error C3861 'aligned': identifier not found
Error C3646 '__attribute__': unknown override specifier
这是Linux到Windows的问题吗?我无法在任何地方找到aligned
或__attribute__
的定义。
(我尝试移植的代码是:https://github.com/uzh-rpg/rpg_svo)
答案 0 :(得分:6)
gcc到MSVC问题。根据{{3}}。,等效的MSVC功能为__declspec(align(16))
。
如果您的编译器支持C ++ 11,您还可以使用the documentation声明。