我正在尝试构建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,因为在CMake中设置了一堆其他RUBY_*
变量,如RUBY_EXECUTABLE和RUBY_INCLUDE_DIR。
什么是RUBY_LIBRARY以及它应该设置为什么? Ruby安装在C:\ Ruby192。
答案 0 :(得分: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编译器链接时引起问题。我很久以前把那个毛球扔掉了。