0
Ruby C 확장을 작성하는 방법을 배우고 있으며 가장 간단한 예제를 통과했습니다. rb_cIPSocket
아래에 클래스를 정의하는 확장을 만들려고 했으므로 소켓을 사용하여 무언가를 얻으려고했습니다.Ruby C 확장자에서 rb_cIPSocket을 사용할 수 있습니까?
#include "rubysocket.h"
을 내가 받고 있어요 : 내 C 파일의 맨 위에
내가 가진
아마 대부분의 경우...s.c:3:31: error: rubysocket.h: No such file or directory
.
#include "rubysocket.h"
#include "socket/rubysocket.h"
#include "ext/socket/rubysocket.h"
#include <rubysocket.h>
#include <socket/rubysocket.h>
#include <ext/socket/rubysocket.h>
을 그리고 이것은 내 extconf.rb
이다 : 그러나, 나는 가능한 모든 경로를 시도 등등
require 'mkmf'
dir_config("my_ext")
have_library("c", "main")
create_makefile("my_ext")
그리고있다. 여기에 실종 된 것은 무엇입니까? 왜 그 헤더 파일을 포함 할 수 없습니까? RVM과 Ruby 1.9.3-p448에서 OSX를 사용하고 있습니다. 감사합니다.
포인터 주셔서 감사합니다. 이것은 나를위한 트릭을했다 :'ipSocketClass = rb_const_get (rb_cObject, rb_intern ("IPSocket"));' – radekg
여기 고급 리소스가있다 : http://clalance.blogspot.be/2011/01/writing-ruby-extensions-in -c-part-3.html – radekg
그리고 여기는 최고의 리소스입니다. http://media.pragprog.com/titles/ruby3/ext_ruby.pdf – radekg