Como executar o meu aplicativo ruby ??usando biblioteca de extensão ruby ??(em c), no windows?
-
03-07-2019 - |
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
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