问题标签 [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.
ruby - 使用 rbenv 位于 os x mavericks 上的 mkmf.log 文件在哪里
我正在运行 OS X Mavericks 并rbenv
用于管理我的 ruby 版本。例如,对于 ruby 版本 1.9.3-p448,该文件mkmf.log
位于何处?
ruby - mkmf 生成一个奇怪的 Makefile
当我使用本机 C 绑定构建 gem 时,我收到以下警告:
我在生成的 Makefile 中找到了这些行:
我的系统用户名不是travis
,我也没有在extconf.rb
.
c - MakeMakefile 找不到标题
我正在为我的 Ruby Gem 编写一个 C 扩展。但是#find_header 的行为太奇怪了。
这是我通过运行$ rake compile
rake-compiler 提供的结果:
它表明缺少标题,但实际上没有。
怎么了?
ruby - extconf.rb 如何定义要使用的源文件
我有一个 ruby 扩展的小项目,它的组织方式如下:
一切正常,但我需要将一些源文件放在一个目录中(我在 git repos 中创建/修改/测试所有这些源文件,以便在测试我的 C++ 代码时只需要更新这个目录)。所以新组织看起来像这样:
我现在的问题是如何指定 extconf.rb 在哪里找到源文件(extconf.rb 默认使用当前目录中的源文件)。
我已经在 extconf.rb 成功测试了这个:
我收到一条错误消息,说链接器找不到一些“.o”文件,所以我添加了这个:
但这没有用。
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 行为。
ruby - Ruby 无法构建原生 gem
我正在尝试使 Ruby 开发环境可移植,并且在本地化 DevKit 时遇到了一些问题。它安装得很好,但是当我尝试安装需要它的 gem 时(在这种情况下,wdm
)。的内容mkmf.log
可以在下面找到:
红宝石安装工作正常,我不确定是什么原因造成的。所有不需要 devkit 的 gem 都可以正常工作,但 DevKit 只是不工作......
ruby - 如何使用 mkmf 修改 Makefile 参数
我正在尝试在 Windows 10 环境中使用 rake 编译器编译 c 代码。我对 Makefile 生成的路径有问题,因为它们具有“/C/ 而不是“C:”。作为开发工具包的一部分安装的 Mingw,无法处理这种格式的 abs 路径,我必须将其更改为 windows 格式。
请注意 topdir 和前缀。
生成文件:
我可以在 extconf.rb 文件中修改“前缀”的值:
但无论出于何种原因,如果我尝试更改“topdir”的值,该值不会被覆盖。有什么我想念的想法吗?
c - 将 mkmf 与 Ruby ext 一起使用 使用 -L 和 -I 和 -l 链接静态库
给定一个简单的gcc
命令,如下所示:
我正在尝试extconf.rb
使用mkmf
. 目前我有:
这失败了:
我不确定如何处理。如果没有find_library
Makefile 生成的调用,但是在编译时会失败:
注意:
这是我的示例quickrb.c
文件:
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 是这样说的:
我不知道这意味着什么。任何帮助,将不胜感激。
ruby - 在构建 Ruby gem 时指定 C 和 C++ 编译器路径
gem
允许指定构建参数,但是我在生成的 Makefile 中找不到构建参数来覆盖CC
和CXX
常量mkmf
(默认值似乎来自RbConfig::CONFIG
)。
在构建扩展时如何指定要使用的编译器?