Comment exécuter mon application ruby ??à l'aide de la bibliothèque d'extension ruby ??(en c), sous Windows?

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

Question

Je serais reconnaissant pour toute aide à ce sujet: Je veux écrire une extension de ma bibliothèque c. J'ai créé le fichier zmq.cpp qui utilise la bibliothèque libzmq (écrite en C ++).

J'ai créé un fichier makefile avec ruby ??extconf.rb, puis je lance nmake. Tout s'est bien passé. Nmake fichiers générés

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

Tout cela a été fait sous Windows XP.

Ensuite, j'ai un programme de test qui, dans ma première ligne, contient:

require 'librbzmq'

Lorsque j'essaie d'exécuter mon programme de test à l'aide de

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

je reçois

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

Les emplacements des fichiers sont corrects, je les ai vérifiés.

Avez-vous une idée de la marche à suivre?

Remarque: j'ai fait tout cela sous ubuntu et tout a bien fonctionné. J'ai créé un fichier makefile et j'ai pu exécuter l'application de test à l'aide d'une commande similaire à celle décrite ici (seuls les chemins étaient différents).

Merci

Était-ce utile?

La solution

Correction de ma réponse précédente - le chemin que vous indiquez à l'aide de " -I " est faux. Il devrait pointer vers le répertoire où librbzmq.so peut être trouvé. Sinon, vous pouvez installer la bibliothèque en utilisant:

nmake install

ou utilisez RUBYLIB pour configurer le chemin de recherche:

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

salutations

accorder

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top