Cygwin的编译错误

在Cygwin中开发Rails,有时候需要执行SH命令,而这些命令调用DLL时经常会遇到类似的错误提示:

 [main] ruby 4208 C:/cygwin/bin/ruby.exe: *** fatal error - unable to remap C:/cygwin/bin/cygssl-0.9.8.dll to

same address as parent(0×340000) != 0×4730000

 [main] ruby 1752 fork: child 4208 - died waiting for dll loading, errno 11

具体原因不大清楚,解决方法如下:

CMD到Cygwin的bin路径下,执行ash命令,或者直接run这个命令;

在ash提示符后面运行/bin/rebaseall,注意要输入完整,如果只输入rebaseall,会提示找不到这个命令,而且这个命令只能在ash下面执行,不能在Cygwin下面执行。

现在打开Cygwin,应该一切正常了。

 

源文档 <http://shamrock.javaeye.com/blog/189411

### 如何在 Cygwin 中保存和查看编译日志 为了有效地管理和排查编译过程中可能出现的问题,保存并查看编译日志是一个重要的实践。以下是具体方法: #### 使用重定向操作符保存日志 当执行编译命令时,可以通过 shell 的输出重定向功能来捕获标准输出(stdout)和标准错误(stderr)。这允许将所有的编译信息存储在一个单独的日志文件中。 对于简单的编译任务,可以直接在命令后面加上 `> compile.log 2>&1` 来实现这一目的[^1]。这里 `compile.log` 是指定的日志文件名;如果该文件已存在,则会被覆盖。若希望追加而不是覆盖现有日志内容,可以改用双大于号 (`>>`) 进行追加写入。 ```bash gcc main.c -o program > compile.log 2>&1 ``` 上述命令会把所有来自 gcc 编译器的标准输出和任何发生的错误都导向至名为 "compile.log" 的文本文件内。 #### 利用 make 工具管理复杂项目的构建日志 针对更复杂的项目结构,通常采用 Makefile 和相应的 build system (如 GNU Make) 来自动化整个构建流程。此时同样能够通过设置特定变量或选项让其记录详细的构建活动到日志文件里。 例如,在运行 `make` 命令之前定义环境变量 V=1 可使 Make 显示完整的命令序列,并配合 `-jN` 参数控制并发作业数的同时也应考虑加入日志收集机制: ```bash export MAKEFLAGS="-j8" make all CXXFLAGS=-v > build_output.txt 2>&1 ``` 这段脚本不仅设置了最大八个线程同时工作的参数,还开启了 verbose 模式的 C++ 编译标志 (-v),并将全部输出流导入到了 `build_output.txt` 文件之中[^3]。 #### 查看与分析日志文件 一旦有了这些日志文件之后,就可以利用各种 Unix/Linux 下常用的文本处理工具来进行后续的审查工作了。比如 grep、awk 或 sed 等都可以帮助快速定位感兴趣的信息片段。另外还可以借助 less/pager 类型的应用程序逐页浏览大尺寸的日志文档而无需一次性加载整个文件进入内存。 ```bash less compile.log grep 'error:' compile.log ``` 以上两条指令分别用于分屏滚动阅读日志以及筛选出含有关键字 "error:" 的行项以便于集中关注潜在问题所在之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值