我知道有几个关于此的帖子,但我是堆栈
这是我的C代码
#include </usr/include/ruby-1.9.1/ruby/ruby.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
ruby_init();
rb_eval_string("puts 'hello'");
ruby_finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在sublime text 2中编译它时遇到以下错误
In file included from /Users/pierrebaille/Code/Ruby/embedRuby/embedRubyFirst.c:1:
/usr/include/ruby-1.9.1/ruby/ruby.h:1481:24: error: ruby/subst.h: No such file or directory
[Finished in 0.1s with exit code 1]
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
你不应该硬编码头文件的完整路径,如
#include </usr/include/ruby-1.9.1/ruby/ruby.h>
适当的是
#include <ruby.h>
并告诉你的gcc通过CFLAGS和libariy通过LD_FLAGS搜索头文件,只需不带makefile的命令就可以:
gcc -o demo.exe -I/path/to/ruby/headers rubydemo.c -L/path/to/ruby/lib -lruby-libary-name
| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |