2016-05-05 16 views
1

Ich baue eine C-Erweiterung, die Mac OSX Accelerate Framework verwendet. Wenn ich normale C-Code zu kompilieren umfassen ich den HeaderRuby C-Erweiterungen - Systemrahmen hinzufügen

#include <Accelerate/Accelerate.h> 

und kompilieren mit

llvm-gcc -framework Accelerate code.c -o code 

Die Flagge Pflege nimmt die richtigen Bibliotheken zu finden. Kann ich etwas ähnliches für eine Ruby C-Erweiterung tun? Ich nehme an, ich muss das Framework in extconf.rb aufnehmen, aber ich weiß nicht wie.

+2

ich _think_ Sie müssen nur noch hinzufügen [ 'have_framework ('Accelerate')'] (http://ruby-doc.org/stdlib-2.3.1/ libdoc/mkmf/rdoc/MakeMakefile.html # method-i-have_framework) zu 'extconf.rb' und es wird den Befehl zur Verwendung des entsprechenden '-framework'-Schalters einrichten. – matt

+0

Es funktioniert. Wenn Sie eine Antwort hinzufügen, werde ich sie akzeptieren. Vielen Dank – Rojj

Antwort

1

Um ein Framework in einer Ruby-Erweiterung zu verwenden, müssen Sie die have_framework-Methode in Ihrem extconf.rb verwenden. Dadurch werden die entsprechenden Befehlszeilenoptionen im Makefile hinzugefügt.

In Ihrem Fall Sie wollen:

have_framework('Accelerate')