gpt4 book ai didi

c++ - 如何使用 marshap_cppstd.h 将带有命名空间接口(interface)的 header 包含到 c++/cli 项目中

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:31 24 4
gpt4 key购买 nike

我在尝试编译使用 native 库的 c++/cli 库时遇到几个错误,并且 c++/cli 项目包含用于编码的 msclr 帮助器。如果我添加以下标题

#include <msclr\marshal_cppstd.h>

我得到了错误

Error   1   error C2059: syntax error : '<class-head>'

还有其他几个人也在跟进。

语法错误指向外部(第 3 方)c++ 库的头文件(因此我无法更改头文件)。

namespace SomeExternalLibNamespace
{
namespace interface // problem might be here (interface is a keyword in c++/cli)
{

如果我不包含 marshal_cppstd.h 并使用自己的方法手动编码,一切都会编译并正常工作。

最佳答案

问题是外部 C++ 库命名了一个命名空间 interface。这是 c++/cli 中的关键字。当包含此库的 c++ header (以及名为 interface 的 namespace )并包含帮助者的标题,例如在 marshap_cppstd.h 中也是如此。

如果我自己进行编码而不是使用 ms-helpers,我无法解决这个问题。

关于c++ - 如何使用 marshap_cppstd.h 将带有命名空间接口(interface)的 header 包含到 c++/cli 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291577/

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