编译c语言程序扩展ruby
2024-10-10 21:02:36
环境:
windows 10 64bit
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
gcc version 4.8.1 (GCC)
minGw的配置:
//家目录
//C头文件目录
//C++头文件目录
CPLUS_INCLUDE_PATH=%MINGW_PATH%/include/c++/4.8.1;%MINGW_PATH%/include/c++/4.8.1/mingw32;%MINGW_PATH%/include/c++/4.8.1/backward
由于本次测试是用c语言写的扩展 所以不需要配置c++
//可执行程序目录
Path中:
注意mingw的bin下面不叫make 而叫 mingw32-make。需要自己动手改一下
正常情况下ruby生成的makefile
直接make会报各种异常
奶奶的发了好几天没人理我,无奈只有自己研究了。
异常的原因是:makefile的部分路径地址不对
需要自己手动修改
d:/RailsInstaller/Ruby2.2.0/include/ruby-2.2.0/ruby/win32.h:319:44: warning:'st
extern int clock_gettime(clockid_t, struct timespec *);
^
d:/RailsInstaller/Ruby2.2.0/include/ruby-2.2.0/ruby/win32.h:320:43: warning: 'st
externint clock_getres(clockid_t,struct timespec *);
这种错是因为
D:\RailsInstaller\Ruby2.2.0\include\ruby-2.2.0\ruby\win32.h 的 timespec 没有事先定义 在第225行加入 struct timespec; 就可以了
process_begin:CreateProcess(NULL, rm -f mytest.so,...) failed.
make (e=2):Makefile:271: recipe for target 'mytest.so' fail
这个错是因为 makefile 里面多加了一个 process 来删除so文件。这里我将它去掉就正常了 (make -d 可以观察到哪一步出错)
ok!。接下来测试在ruby中是否能调用成功呢?
到此在windows环境下完美搞定!
最新文章
- rc.local文件
- jrebel注意事项
- 程序员级别鉴定书(.NET面试问答集锦)
- Advanced Puppet 系列的前言
- ios程序开发杂记
- rpmdb: BDB0113 错误
- vs2010自带的报表
- OSChina 的全文搜索设计说明 —— 索引过程
- (step5.1.2)hdu 1305(Immediate Decodability——字典树)
- 在web网页中正确使用图片格式
- Codeforces Round #193 (Div. 2)
- STM32F207V 进行DS18B20处理
- SGD
- php中的echo,json_decode,json_encode常用函数使用注意事项
- NOIP2016 天天爱跑步 正解
- vue 设计一个倒计时秒杀的组件
- [Swift]LeetCode78. 子集 | Subsets
- [HNOI2018]寻宝游戏
- ios学习--iphone 实现下拉菜单
- linux 安装 ImageMagick 和 imagick 扩展
热门文章
- C语言之找零钱
- Java中的回调
- JavaWeb框架_Struts2_(六)----->;Struts2的输入校验
- hdu 1151 Air Raid DAG最小边覆盖 最大二分匹配
- linux内核模块编程实例
- Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装
- System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
- select控件自动触发change事件
- webrtc视频数据接收端处理流程详解
- 本地创建Duplicate数据库