Функция rb_define_module не компилируется - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь создать модуль в C API Ruby.Это мой код:

#include <ruby.h>

VALUE TopModule;
VALUE SubModule;

rb_define_module("TopModule");

VALUE ruby_hello_world(VALUE self, VALUE n)
{
  return Qnil;
}

void Init_hello_world(void){
  rb_define_global_function("ruby_hello_world", ruby_hello_world, 1);
}

Когда я компилирую свой код с помощью rake compiler, он выдает ошибку в rb_define_module.Ошибка выглядит так:

C:\_mks\RubyTool>rake compile
cd tmp/x64-mingw32/hello_world/2.6.1
C:/Ruby/bin/ruby.exe -I. ../../../../ext/hello_world/extconf.rb
cd -
cd tmp/x64-mingw32/hello_world/2.6.1
C:\Ruby\msys64\mingw64\bin\mingw32-make.exe
compiling ../../../../ext/hello_world/hello_world.c
../../../../ext/hello_world/hello_world.c:6:18: error: expected declaration specifiers or '...' before string constant
 rb_define_module("TopModule");
                  ^~~~~~~~~~~
mingw32-make: *** [Makefile:244: hello_world.o] Error 1
rake aborted!
Command failed with status (2): [C:\Ruby\msys64\mingw64\bin\mingw32-make.ex...]

Есть идеи, что мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...