Я использую Windows 7 (64), Ruby (Ruby200-x64) и Swig (Swigwin-2.0.10).
Я попытался воссоздать простой пример, указанный на страницах SWIG. http://stuff.mit.edu/afs/athena/astaff/project/svn/src/swig-1.3.25/Examples/ruby/class/index.html
Я следовал пошаговой процедуре от Как создать DLL с SWIG из Visual Studio 2010 модифицируя его для случая с Ruby.
Когда я создаю версию проекта, я получаю сообщение об ошибке
C:\Dev-Cpp\include\stddef.h(6): fatal error C1021: invalid preprocessor command 'include_next' .
Кроме того, при запуске примеров в Visual Studio 2012, Example (examples / Ruby / SIMPLE) из предоставленного списка, Eventhough я правильно установил все переменные окружения, я получаю следующую ошибку:
1. 1> RUBY_INCLUDE:
C:\Ruby200-x64\include\ruby-2.0.0;C:\Ruby200-x64\include\ruby-2.0.0\ruby;C:\ruby-1.8.7-p160;C:\ruby-1.8.6-p368;C:\ruby-1.8.7-p160\win32;C:\ruby-1.8.7-p160\vms;C:\ruby-1.8.7-p160\ext\nkf\nkf-utf8
1> RUBY_LIB:
C:\Ruby200-x64\lib\libx64-msvcrt-ruby200.dll.a;C:\Ruby200-x64\bin\x64-msvcrt-ruby200.dll;
1> example_wrap.c
1>c:\ruby200-x64\include\ruby-2.0.0\ruby/encoding.h(87): error
C2146: syntax error : missing ')' before identifier 'obj'
1>c:\ruby200-x64\include\ruby-2.0.0\ruby/encoding.h(87): error
C2061: syntax error : identifier 'obj'
1>c:\ruby200-x64\include\ruby-2.0.0\ruby/encoding.h(87): error
C2059: syntax error : ';'
1>c:\ruby200-x64\include\ruby-2.0.0\ruby/encoding.h(87): error
C2059: syntax error : ')'
Пожалуйста помоги. Я новичок в SWIG! Благодарю .
Пример по ссылке был C ++, но сообщение об ошибке предполагает, что SWIG был запущен без -c++
флаг. Оболочка SWIG была названа example_wrap.c
вместо example_wrap.cxx
,
Попробуйте добавить этот переключатель в командную строку SWIG.
Других решений пока нет …