/ usr / bin / ld:找不到-lruby

时间:2015-11-23 04:32:30

标签: c ruby cmake

我希望用cmake构建ruby c扩展,但我在控制台得到/usr/bin/ld: cannot find -llibruby,这是我的代码:

的CMakeLists.txt

cmake_minimum_required(VERSION 3.3)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
file(GLOB cs *.c)

include_directories($ENV{HOME}/.rbenv/versions/2.2.3/include/ruby-2.2.0/x86_64-linux
        $ENV{HOME}/.rbenv/versions/2.2.3/include/ruby-2.2.0)

foreach (c ${cs})
    get_filename_component(exe ${c} NAME_WE)
    add_executable(${exe} ${cs})
endforeach ()

add_library(mytest SHARED MyTest.c)
link_directories($ENV{HOME}/.rbenv/versions/2.2.3/lib)
find_library(ruby NAMES ruby)
target_link_libraries(mytest ruby)

这是ruby lib:

roroco@roroco-Zhaoyang-K49 ~/Dropbox/rbs/ro_plans $ lsa ~/.rbenv/versions/2.2.3/lib
total 61424
drwxr-xr-x 4 roroco roroco     4096 Nov 21 23:49 .
drwxr-xr-x 6 roroco roroco     4096 Oct 13 22:10 ..
lrwxrwxrwx 1 roroco roroco       16 Nov 21 23:49 libruby.so -> libruby.so.2.2.0
lrwxrwxrwx 1 roroco roroco       16 Nov 21 23:49 libruby.so.2.2 -> libruby.so.2.2.0
-rwxr-xr-x 1 roroco roroco 13573794 Nov 21 23:49 libruby.so.2.2.0
-rw-r--r-- 1 roroco roroco 49306632 Nov 21 23:47 libruby-static.a
drwxr-xr-x 2 roroco roroco     4096 Nov 21 23:49 pkgconfig
drwxr-xr-x 6 roroco roroco     4096 Oct 13 22:10 ruby

0 个答案:

没有答案