问题标签 [mkmf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2509 浏览

ruby - 使用 rbenv 位于 os x mavericks 上的 mkmf.log 文件在哪里

我正在运行 OS X Mavericks 并rbenv用于管理我的 ruby​​ 版本。例如,对于 ruby​​ 版本 1.9.3-p448,该文件mkmf.log位于何处?

0 投票
1 回答
482 浏览

ruby - mkmf 生成一个奇怪的 Makefile

当我使用本机 C 绑定构建 gem 时,我收到以下警告:

我在生成的 Makefile 中找到了这些行:

我的系统用户名不是travis,我也没有在extconf.rb.

还发现了这个问题:https ://github.com/flori/json/issues/207

0 投票
0 回答
61 浏览

c - MakeMakefile 找不到标题

我正在为我的 Ruby Gem 编写一个 C 扩展。但是#find_header 的行为太奇怪了。

这是我通过运行$ rake compilerake-compiler 提供的结果:

它表明缺少标题,但实际上没有。

怎么了?

0 投票
1 回答
245 浏览

ruby - extconf.rb 如何定义要使用的源文件

我有一个 ruby​​ 扩展的小项目,它的组织方式如下:

一切正常,但我需要将一些源文件放在一个目录中(我在 git repos 中创建/修改/测试所有这些源文件,以便在测试我的 C++ 代码时只需要更新这个目录)。所以新组织看起来像这样:

我现在的问题是如何指定 extconf.rb 在哪里找到源文件(extconf.rb 默认使用当前目录中的源文件)。

我已经在 extconf.rb 成功测试了这个:

我收到一条错误消息,说链接器找不到一些“.o”文件,所以我添加了这个:

但这没有用。

0 投票
0 回答
435 浏览

ruby - 使用 ruby​​-2.2.2 在 OS X yosemite 上安装 ffi gem 的问题

我正在尝试安装 ffi gem,以便可以使用命令来使用guard-rspec sudo gem install ffi -v '1.9.8'。我最终得到这个输出:

mkmf.log 文件如下所示:

所以 mkmf.rb 似乎在抱怨找不到 dsymutil。但是命令/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk / -find dsymutil给出了输出

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil

所以问题不在于我没有安装命令行工具。

我决定看一下 mkmf.rb 的源代码,看看我是否能弄清楚发生了什么。引发错误的方法是:

have_devel?所以我们可以看到,如果方法返回 false ,就会引发错误。现在检查一下:

伟大的。所以ruby可以找到我的命令行工具。但如果我以 root 身份运行 irb:

它失败。吐出的 mkmf.log 文件与上面的相同,抱怨缺少 dsymutil。我不知道为什么会这样。

有人对我如何安装 ffi 有任何建议吗?我怀疑我的盒子有些奇怪,没有人能够重现这种 mkmf 行为。

0 投票
1 回答
171 浏览

ruby - Ruby 无法构建原生 gem

我正在尝试使 Ruby 开发环境可移植,并且在本地化 DevKit 时遇到了一些问题。它安装得很好,但是当我尝试安装需要它的 gem 时(在这种情况下,wdm)。的内容mkmf.log可以在下面找到:

红宝石安装工作正常,我不确定是什么原因造成的。所有不需要 devkit 的 gem 都可以正常工作,但 DevKit 只是不工作......

0 投票
0 回答
58 浏览

ruby - 如何使用 mkmf 修改 Makefile 参数

我正在尝试在 Windows 10 环境中使用 rake 编译器编译 c 代码。我对 Makefile 生成的路径有问题,因为它们具有“/C/ 而不是“C:”。作为开发工具包的一部分安装的 Mingw,无法处理这种格式的 abs 路径,我必须将其更改为 windows 格式。

请注意 topdir 和前缀。

生成文件:

我可以在 extconf.rb 文件中修改“前缀”的值:

但无论出于何种原因,如果我尝试更改“topdir”的值,该值不会被覆盖。有什么我想念的想法吗?

0 投票
1 回答
240 浏览

c - 将 mkmf 与 Ruby ext 一起使用 使用 -L 和 -I 和 -l 链接静态库

给定一个简单的gcc命令,如下所示:

我正在尝试extconf.rb使用mkmf. 目前我有:

这失败了:

我不确定如何处理。如果没有find_libraryMakefile 生成的调用,但是在编译时会失败:

注意

这是我的示例quickrb.c文件:

0 投票
1 回答
697 浏览

ruby-on-rails - 尝试通过 ubuntu WSL 终端在 Rails 上安装 ruby​​ 时出现多个错误

我目前通过 Windows 子系统为 linux 使用全新安装的 ubuntu 18.04.2 LTS。我使用安装红宝石

我正在尝试使用

这给了我一个Gem::FilePermissionError错误,可以通过使用 sudo 来修复,但是网上的多个来源说不要使用 sudo 来安装 gem,尽管它们似乎都在使用 MacOS。

当我忽略它们并尝试使用 sudo 安装时,我得到了这个:

如果不是在 Windows 中使用的 exe 文件,我似乎找不到安装“开发工具”的方法,我也不太确定我真正需要什么“开发工具”。

mkmf.log 是这样说的:

我不知道这意味着什么。任何帮助,将不胜感激。

0 投票
0 回答
32 浏览

ruby - 在构建 Ruby gem 时指定 C 和 C++ 编译器路径

gem允许指定构建参数,但是我在生成的 Makefile 中找不到构建参数来覆盖CCCXX常量mkmf(默认值似乎来自RbConfig::CONFIG)。

在构建扩展时如何指定要使用的编译器?