从源代码编译 cygwin1.dll
Compile cygwin1.dll from its source code
我想在 cygwin1.dll 中为我的项目编辑一些代码。因此,我从这两个 url:
克隆 git 存储库
- https://github.com/mirror/newlib-cygwin.git
- git://sourceware.org/git/newlib-cygwin.git
我已经安装了 gcc、g++、make 以及 cygwin 和 mingw-w64(也在 WSL 中)。但是其中 none 个生成 DLL 文件。我也遵循命令 ./configure
& make
。命令只生成目标文件。是否可以从其源代码编译 cygwin1.dll?
我有两个不同的问题。
- 首先,我按照 cygwin FAQ: How do I build Cygwin on my own? 中的步骤操作。我忘记安装
mingww64_x86_64-gcc-g++
包。因此,我使用以下命令安装了它们:
setup-x86_64.exe -q -P gcc-g++ -P make -P perl -P cocom -P gettext-devel -P libiconv-devel -P zlib-devel
setup-x86_64.exe -q -P mingw64-x86_64-gcc-core -P mingw64-i686-gcc-g++ -P mingw64-i686-zlib
setup-x86_64.exe -q -P mingw64-x86_64-gcc-g++ -P mingw64-x86_64-zlib
- 其次,我使用
make |& tee make.log
记录了 make 命令的输出。谢谢@matzeri 的日志记录提示。然后我在 make.log
文件中发现如下错误:
../../.././winsup/cygwin/cygmagic: line 25: /usr/bin/awk: cannot
execute binary file: Exec format error
*** WARNING WARNING WARNING WARNING WARNING ***
*** ../../.././winsup/cygwin/child_info.h: magic number for
CHILD_INFO_MAGIC changed old 0xc96f5e9U != new
不知何故,awk
(与 gawk
硬链接)在 cygwin 中不起作用。所以我用 setup-x86_64.exe 安装了 awk
包。现在我可以轻松编译 cygwin.dll.
我想在 cygwin1.dll 中为我的项目编辑一些代码。因此,我从这两个 url:
克隆 git 存储库- https://github.com/mirror/newlib-cygwin.git
- git://sourceware.org/git/newlib-cygwin.git
我已经安装了 gcc、g++、make 以及 cygwin 和 mingw-w64(也在 WSL 中)。但是其中 none 个生成 DLL 文件。我也遵循命令 ./configure
& make
。命令只生成目标文件。是否可以从其源代码编译 cygwin1.dll?
我有两个不同的问题。
- 首先,我按照 cygwin FAQ: How do I build Cygwin on my own? 中的步骤操作。我忘记安装
mingww64_x86_64-gcc-g++
包。因此,我使用以下命令安装了它们:
setup-x86_64.exe -q -P gcc-g++ -P make -P perl -P cocom -P gettext-devel -P libiconv-devel -P zlib-devel
setup-x86_64.exe -q -P mingw64-x86_64-gcc-core -P mingw64-i686-gcc-g++ -P mingw64-i686-zlib
setup-x86_64.exe -q -P mingw64-x86_64-gcc-g++ -P mingw64-x86_64-zlib
- 其次,我使用
make |& tee make.log
记录了 make 命令的输出。谢谢@matzeri 的日志记录提示。然后我在make.log
文件中发现如下错误:
../../.././winsup/cygwin/cygmagic: line 25: /usr/bin/awk: cannot
execute binary file: Exec format error
*** WARNING WARNING WARNING WARNING WARNING ***
*** ../../.././winsup/cygwin/child_info.h: magic number for
CHILD_INFO_MAGIC changed old 0xc96f5e9U != new
不知何故,awk
(与 gawk
硬链接)在 cygwin 中不起作用。所以我用 setup-x86_64.exe 安装了 awk
包。现在我可以轻松编译 cygwin.dll.