3

我正在尝试构建Qpid。运行 CMake 时,这将打印到日志中:

Could NOT find Ruby  (missing:  RUBY_LIBRARY)

[ ... more stuff cut for brevity ]

CMake Error at src/CMakeLists.txt:96 (include):
  include could not find load file:

    C:/qpid/0.6/qpid/build/src/rubygen.cmake

它似乎失败了,因为它找不到应该生成的文件。但它没有,因为它无法找到 Ruby。

但它似乎至少部分找到了 Ruby,因为RUBY_*在 CMake 中设置了许多其他变量,如 RUBY_EXECUTABLE 和 RUBY_INCLUDE_DIR。

什么是 RUBY_LIBRARY,它应该设置为什么?Ruby 安装在 C:\Ruby192 中。

4

1 回答 1

1

根据/usr/share/cmake-2.8/Modules/FindRuby.cmake

#  RUBY_LIBRARY      = full path to the ruby library

我看到你在 Windows 上。我猜想要链接到 DLL,您可以指向${RUBY_DIR}\lib\msvcrt-ruby191.lib${RUBY_DIR}\bin\msvcrt-ruby191.dll(我使用的是从 ruby​​-lang.org 获取的 Ruby 1.9.1 二进制文件中的名称)。要链接到静态库,您需要${RUBY_DIR}\lib\msvcrt-ruby-191-static.lib.

我不知道这些库是针对 msvcrt 构建的这一事实是否会在与 VS2008 编译器链接时引起问题。我早就把那个毛球送走了。

于 2010-10-08T00:17:00.700 回答