Como executar o meu aplicativo ruby ??usando biblioteca de extensão ruby ??(em c), no windows?

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

Pergunta

Eu ficaria grato por qualquer ajuda sobre isso: Eu quero escrever uma extensão para a minha biblioteca c. Eu criei zmq.cpp arquivo que usa libzmq biblioteca (escrito em C ++).

Eu criei makefile usando ruby ??extconf.rb, então eu executar nmake. Tudo correu bem. Nmake arquivos gerados

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

Isso tudo foi feito no Windows XP.

Então eu tenho um programa de teste, que na minha primeira linha tem:

require 'librbzmq'

Quando tento executar o meu programa de teste 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

I get

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

Os locais de arquivo estão corretas, eu verifiquei.

Você tem alguma idéia de como executá-lo?

Nota:. Eu fiz tudo isso em ubuntu e funcionou muito bem - eu criei makefile, e foi capaz de executar o aplicativo de teste usando o comando semelhante como aqui (somente os caminhos eram diferentes)

Graças

Foi útil?

Solução

Corrigir a minha resposta anterior - parece que o caminho que você fornece usando "-I" é errado. Ele deve apontar para o diretório onde librbzmq.so pode ser encontrado. Alternativamente, você pode instalar a biblioteca usando:

nmake install

ou uso RUBYLIB a caminho de pesquisa de configuração:

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

relação

concessão

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top