Come eseguire la mia applicazione ruby ??utilizzando la libreria di estensioni ruby ??(in c), in Windows?

StackOverflow https://stackoverflow.com/questions/819572

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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top