Come eseguire la mia applicazione ruby ??utilizzando la libreria di estensioni ruby ??(in c), in Windows?
-
03-07-2019 - |
Domanda
Sarei grato per qualsiasi aiuto su questo: Voglio scrivere un'estensione nella mia libreria c. Ho creato il file zmq.cpp che utilizza la libreria libzmq (scritta in C ++).
Ho creato makefile usando ruby ??extconf.rb, quindi eseguo nmake. È andato tutto bene. File generati da Nmake
librbzmq-i386-mswin32.def
librbzmq-i386-mswin32.lib
librbzmq-i386-mswin32.exp
librbzmq.so librbzmq.so.manifest
Tutto questo è stato fatto in Windows XP.
Quindi ho un programma di test, che nella mia prima riga ha:
require 'librbzmq'
Quando provo ad eseguire il mio programma di test usando
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
Ottengo
rb-remote_lat.rb:1:in `require':no such file to load -- librbzmq (LoadError) from ./rb_remote_lat.rb:1:in `<main>'
I percorsi dei file sono corretti, l'ho verificato.
Hai idea di come eseguirlo?
Nota: ho fatto tutto questo in Ubuntu e ha funzionato bene - ho creato makefile ed è stato in grado di eseguire l'applicazione di test usando un comando simile a quello qui (solo i percorsi erano diversi).
Grazie
Soluzione
Correzione della mia risposta precedente: sembra il percorso che fornisci usando " -I " è sbagliato. Dovrebbe puntare alla directory in cui è possibile trovare librbzmq.so. In alternativa puoi installare la libreria usando:
nmake install
o usa RUBYLIB per impostare il percorso di ricerca:
set RUBYLIB="C:\Documents and Settings\Kustarova\wcopy\trunk\librbzmq"
Per quanto riguarda
borsa