问题标签 [extconf.rb]
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.
c - 当测试函数需要参数时,have_func 的正确用法是什么?
我有extconf.rb
以下几行:
所以,cblas_dgemm
肯定是在cblas.h
。当我查看mkmf.log时,我发现这个检查实际上是在寻找两件事:
- 某处的
_cblas_dgemm
符号(?) - 一个可调用
cblas_dgemm
的cblas.h
.
两个测试都失败了。我认为前者失败了,因为我需要一条dir_config
线cblas
,也许还有一条线have_library('cblas')
。
但我不知道如何使后一个测试通过(参见要点的第 24 行)。是否可以将一个块传递给它,have_func
以便它实际上用合理的参数调用它?还是有其他方法可以运行此测试?还是我必须dir_config
正确设置这些东西?
顺便说一下,这是第 24 行:
是的,当然,cblas_dgemm
需要很多参数——其中一些是矩阵。
mkmf
令人沮丧的是,关于这些功能的文档很少。
extconf.rb - 没有这样的文件或目录 -- extconf.rb (Loa dError) - 安装 json (1.8.0)
我可能应该首先说我是 Rails 新手。当我尝试运行捆绑安装时,出现了这个特定的错误消息。一旦安装到 json,就会弹出错误。
==================================================== ============================
安装 json (1.8.0)
Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem 原生扩展。
D:/Dev/RailsInstaller/Ruby1.9.3/bin/ruby.exe: 没有这样的文件或目录 -- extconf.rb (Loa dError)
Gem 文件将继续安装在 D:/Dev/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gem s/json-1.8.0 以供检查。
结果记录到 D:/Dev/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/json-1.8.0/ext/json/ext/generator/gem_make.out
安装 json (1.8.0) 时出错,Bundler 无法继续。gem install json -v '1.8.0'
在捆绑之前确保成功。
==================================================== ==============================
gem_make.out 日志文件正在显示
==================================================== ==============================
D:/Dev/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
D:/Dev/RailsInstaller/Ruby1.9.3/bin/ruby.exe: 没有这样的文件或目录 -- extconf.rb (LoadError)
==================================================== ==============================
我已经尝试运行gem install json
并且基本上得到了相同的错误消息。DevKit 已经安装。重新安装它没有任何区别。
Ruby 版本是 1.9.3p392 Rails 版本是 3.2.13 操作系统是 Windows7 64bit
使用 rubyinstaller 完成安装。
任何帮助将不胜感激。
mysql - 无法安装 gem install mysql2 Ruby WINx64
我一直在寻找这个错误,重新安装了一切,并尝试了一切。我在这里找到的都是旧帖子和旧版本。是的,我已经下载了 MySQL C 连接器并将 lib 移动到该 ruby 目录。依然没有。
我正在运行 PC WINx64 Ruby 版本 2.0.0-p195 DevKit 的最新版本
Windows 一直在给我带来问题。但这就是我在工作中的全部。感谢你们。
c - 简单的 Ruby C 扩展找不到 ruby.h
我为 Ruby 编写了一个非常简单的 C 扩展。不幸的是,它找不到ruby.h
.
这是extconf.rb
:
这是唯一的源文件:
当我尝试编译它时,我收到以下错误:
完整的要点。请注意,行号已关闭,因为我主要注释掉了代码而不是删除它。
有趣的是,如果我尝试在不清理的情况下再次编译,我会得到一个不同的错误:
(完整的输出再次包含在上面的要点中。)
也许这是一个线索?
为什么找不到ruby.h
?当我编译NMatrix或SciRuby rb-gsl fork时,它们都可以正常工作并且定位没有问题ruby.h
。(为了记录,我写了 NMatrix、C 扩展和所有的——我把这个特定的扩展基于那个extconf.rb
。)
ruby-on-rails - 检查 sqlite3 ...没有 extconf.rb 失败
请不要只是关闭
我最近开始学习 rails 并且在运行 rails server 命令时遇到问题,我收到以下错误消息:
接下来是来自消息的 16 条(如果被问到,我会添加它们)。
我的系统是 Windows XP,Ruby 版本 2.0.0p195,Rails 版本 4.0.0。
我很乐意应要求提供更多信息。
我发现的所有解决方案我都尝试过,但都没有奏效。
我尝试过的解决方案:
1) 背包解决方案
2) ruby setup.rb 配置 --with-sqlite-include=c:\sqlite-autoconf-3071700
3)我尝试了 sqlite-amalgamation 下载。
4)卸载并重新安装sqlite3、ruby、rails、rubygems、dev tools等。
5) 使用 ubuntu 13.04 运行虚拟机(rails server 命令正在工作,就像我说 rails new server 一样)
6)和其他几个命令行运行和各种下载。
它多次告诉我它安装了 sqlite3 版本 1.3.7,但我仍然得到相同的结果。
请提前感谢您的帮助!!
PS 许多其他的基于 Windows 7 或更高版本以及更早版本的 ruby 和/或 rails。
c++ - extconf.rb:如何根据头文件更改生成 makefile 目标?
在我的extconf.rb
,我有
这些中的每一个都依赖于多个头文件。如果 Itouch foo.cpp
或touch bar.cpp
, 然后 do rake compile
,它将重新编译相应的目标文件。
但是触摸.h
文件显然不会产生相同的效果。我不记得这是我使用extconf.rb
C/C++ 编码的症状还是只是一个事实。
有什么方法可以指导我extconf.rb
编写一个知道这些头文件的makefile吗?
c - 使用 Ruby 调用命令行工具
我试图调用的命令行工具基本上将文件转换为另一种格式。
我正在使用这个[教程] [1],但遇到了麻烦。我不断得到invalid multibyte char (UTF-8) (SyntaxError)
我只是将我的命令行工具(使用 C 制作)倾倒在垃圾箱中,并试图让它工作。有人可以阐明我如何使这项工作正常进行吗?
c - 使用 extconf.rb 设置预处理器定义
我正在为 Ruby 编写 C 扩展,并且在 extconf.rb 文件中有类似的内容:
因此,如果缺少 zlib,安装过程将中止。相反,由于我的扩展可以在没有 zlib 的情况下使用 AND,我想做如下的事情;
我怎样才能做到这一点?
编辑:问题在于 if...end 语句中的注释:如何为编译器添加 -DHAVE_ZLIB 定义?
ruby - 使用 MKMF 创建 makefile
如何使用 MKMF 创建复杂的 Makefile?我需要指定目标,包括其他 makefile,指定宏等等。那可能吗?我对 MKMF 很陌生,我只在网上找到了如何使用 MKMF 的非常基本的示例。
例如,我的 Makefile 开头需要以下行:
ruby - extconf.rb 如何定义要使用的源文件
我有一个 ruby 扩展的小项目,它的组织方式如下:
一切正常,但我需要将一些源文件放在一个目录中(我在 git repos 中创建/修改/测试所有这些源文件,以便在测试我的 C++ 代码时只需要更新这个目录)。所以新组织看起来像这样:
我现在的问题是如何指定 extconf.rb 在哪里找到源文件(extconf.rb 默认使用当前目录中的源文件)。
我已经在 extconf.rb 成功测试了这个:
我收到一条错误消息,说链接器找不到一些“.o”文件,所以我添加了这个:
但这没有用。