gpt4 book ai didi

c++ - 如何将 SWIG 与 "using"一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 01:18:42 25 4
gpt4 key购买 nike

我正在尝试在 C++ 库上使用 SWIG 2.0.4,我的 .i 中有以下内容文件:

%module coh
%{
#include "coherence/lang.ns"
#include "coherence/net/CacheFactory.hpp"
#include "coherence/net/NamedCache.hpp"
%}

%include "coherence/lang.ns"
%include "coherence/net/CacheFactory.hpp"
%include "coherence/net/NamedCache.hpp"

我痛饮它:

$ swig -c++ -ocaml -I/opt/coherence-cpp/include coh.i

但是得到错误信息:

/opt/coherence-cpp/include/coherence/net/CacheFactory.hpp:31: Error: Syntax error in input(1)

该文件的第 31 行是:

using coherence::run::xml::XmlElement;

是否不支持 using 关键字?是否有解决方法,或者我应该只编写自己的 C++ 包装器,然后改用 SWIG?谢谢!

更新:我决定write my own wrapper (将来,从一开始就采取不同的方法)。

最佳答案

MSDN有这样的话:

Note the difference between the using directive and the using declaration : the using declaration allows an individual name to be used without qualification, the using directive allows all the names in a namespace to be used without qualification.

(我猜)SWIG 支持“using 指令”但不支持“using 声明”。

也就是说,你可以使用:

using namespace somenamespace::mynamespace;

但是你不能使用:

using somenamespace::mynamespace::MySymbol;

关于c++ - 如何将 SWIG 与 "using"一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874132/

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