gpt4 book ai didi

c++ - 使用 swig : Syntax error in input(1) 时出错

转载 作者:搜寻专家 更新时间:2023-10-31 02:13:48 34 4
gpt4 key购买 nike

我是 swig 的新手,我遇到了一个我找不到的错误。错误是:

/home/investigador/OMICRON-GNURadio/gr-freqAdaptiveOFDM/swig/../include/freqAdaptiveOFDM/mapper.h:39: 错误:输入语法错误 (1)。

错误所在的文件是这样的:

#ifndef INCLUDED_FREQADAPTIVEOFDM_SIGNAL_FIELD_H
#define INCLUDED_FREQADAPTIVEOFDM_SIGNAL_FIELD_H

#include <freqAdaptiveOFDM/api.h>
#include <gnuradio/digital/packet_header_default.h>

namespace gr {
namespace freqAdaptiveOFDM {

class FREQADAPTIVEOFDM_API signal_field : virtual public digital::packet_header_default
{
public:
typedef boost::shared_ptr<signal_field> sptr;
static sptr make();

protected:
signal_field();
};

} // namespace freqAdaptiveOFDM
} // namespace gr

#endif /* INCLUDED_FREQADAPTIVEOFDM_SIGNAL_FIELD_H */

发现错误的行是class FREQADAPTIVEOFDM_API行。在此先感谢您的帮助!

顺便说一下,我的 swig 文件如下:

#define freqAdaptiveOFDM_API
#define DIGITAL_API

%include "gnuradio.i"
%include "freqAdaptiveOFDM_swig_doc.i"

%{
#include "freqAdaptiveOFDM/mapper.h";
#include "freqAdaptiveOFDM/signal_field.h"
%}

%include "gnuradio/digital/packet_header_default.h"

%include "freqAdaptiveOFDM/mapper.h"
%include "freqAdaptiveOFDM/signal_field.h"

GR_SWIG_BLOCK_MAGIC2(freqAdaptiveOFDM, mapper);

%template(signal_field_sptr) boost::shared_ptr<gr::freqAdaptiveOFDM::signal_field>;

%pythoncode %{
signal_field_sptr.__repr__ = lambda self: "<signal_field>"
signal_field = signal_field.make;
%}

最佳答案

这很可能是因为 FREQADAPTIVEOFDM_API 未在您的 SWIG 接口(interface)中的任何位置定义。

删除错误的大写

#define freqAdaptiveOFDM_API

并将其替换为

#define FREQADAPTIVEOFDM_API

在你的 .i 文件的顶部应该可以安全地解决这个问题。

关于c++ - 使用 swig : Syntax error in input(1) 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787643/

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