我有一个非常简单的Swig模块用于演示,但是不能让包装器/存根被编译。
Swigtest.h:
#pragma once
class Swigtest {
public:
Swigtest() {};
int func1(int param1);
};
Swigtest.cpp
#include "Swigtest.h"
int Swigtest::func1(int param1)
{
return param1 + 1;
}
Swigtest.i
%module Swigtest
%{
#include "Swigtest.h"
%}
%include "Swigtest.h"
使用swig.exe -c++ -perl5 Swigtest.i
生成包装器,然后包装器Swigtest_wrap.cxx
的编译失败,并出现以下第一个错误:
[path_to_perl_lib] \ lib \ core \ win32.h(371):错误C2061:语法错误:标识符' STRLEN'
我在目标平台版本8.1和Swigwin 3.0.12上使用VisualStudio 2015工具集(在VS17上实际运行)。
感谢您的帮助!