c++ - 将 ruby​​ 库静态链接到 C++ 应用程序

标签 c++ ruby

我最近问了一个关于在 C++ 应用程序中嵌入 ruby​​ 的问题

Embedding ruby in c++, problem with ruby libraries

现在我遇到了另一个与此相关的问题。我设法编译并运行了这个应用程序,但我无法静态链接 ruby​​。这是我的控制台所说的:

####:~/Desktop/rubyParser$ g++ -o ruby_test ruby_test.c -I/usr/lib/ruby/1.8/x86_64-linux/ -static -lruby1.8
/usr/bin/ld: cannot find -lruby1.8

但是如果我打开/usr/bin,就会有一个“ruby1.8”文件(没有扩展名)。可能我需要另一个文件.. 我使用的是 Ubuntu,当然我不是 Linux 专家,所以请耐心等待我:)

我该如何解决?

提前致谢

再见

最佳答案

通过指定 -lruby1.8,链接器将在标准库位置(可能是 /usr/lib)中查找名为 libruby1.8.so 的文件//usr/local/lib).

看看这些目录,看看里面是否有类似的东西。

如果没有,你有没有安装ruby的development包?如果只有链接过程失败,我会假设您有(否则,您很可能也没有 header )。

我从未与 ruby​​ 链接过,但您是否尝试过指定 -lruby 而不是 -lruby1.8

关于c++ - 将 ruby​​ 库静态链接到 C++ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6124352/

相关文章:

c++ - OpenCL 在调用 clGetPlatformIDs 时崩溃

ruby-on-rails - Rails 4 + Rspec + 设计 : undefined method 'env' in controller specs for sign_in a user

jquery - AJAX 到 Ruby Controller

ruby-on-rails - Faker : Don't know how to build task 'enviroment'

c++ - 多个 Qt 小部件描绘不同的 OpenSceneGraph 节点而没有性能损失

c++ - 为什么 Visual Studio 2017 在我使用 std::wstring 时显示错误?

ruby-on-rails - Ruby - 查找具有相同属性的所有记录并将它们分组

ruby-on-rails - 力级加载和卸载 (RoR)

c++ - 改进使用 MFC FindFile API 失败

c++ - 如何在没有 cmake 文件的情况下使用 jhbuild 构建 OpenFace 库?