Frage

würde ich für jede Hilfe zu diesem Thema dankbar sein: Ich möchte eine Erweiterung meiner C-Bibliothek schreiben. Ich erstellte Datei zmq.cpp die Bibliothek libzmq (geschrieben in C ++) verwendet.

Ich habe Make-Datei Rubin extconf.rb verwenden, dann laufe ich Nmake. Es ging alles gut. Nmake generierten Dateien

librbzmq-i386-mswin32.def
librbzmq-i386-mswin32.lib
librbzmq-i386-mswin32.exp
librbzmq.so librbzmq.so.manifest

Das alles wurde in Windows XP durchgeführt.

Dann habe ich ein Testprogramm, das in meiner ersten Zeile hat:

require 'librbzmq'

Wenn ich versuche, mein Testprogramm laufen mit

ruby -I"C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq\librbzmq-i386-mswin32.lib" -I"C:\Documents and Settings\Kustarova\wcopy\trunk\windows\Debug\libzmq.lib" ./rb_remote_lat.rb

ich

rb-remote_lat.rb:1:in `require':no such file to load -- librbzmq (LoadError) from ./rb_remote_lat.rb:1:in `<main>'

Die Dateispeicherorte sind richtig, ich habe es.

Haben Sie eine Ahnung, wie es läuft?

. Hinweis: Ich tat dies alles in ubuntu und es funktionierte gut - ich Make-Datei erstellt, und konnte die Testanwendung mit ähnlichem Befehl wie hier (nur die Wege waren verschieden)

laufen

Danke

War es hilfreich?

Lösung

Die Korrektur meiner früheren Antwort - es sieht aus wie der Pfad, den Sie liefern mit „-I“ ist falsch. Es sollte auf das Verzeichnis zeigen, wo librbzmq.so gefunden werden kann. Alternativ können Sie die Bibliothek installieren mit:

nmake install

oder RUBYLIB Setup-Suchpfad verwenden:

set RUBYLIB="C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq"

Bezug

Zuschuss

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top