我正在学习在Windows上使用bash,我安装了暗月cygwin,我想在windows上和gcc一起编译“旧代码”。我可以编译我的代码并在暗月中运行它,但是当我把它放在另一台计算机上时,它不能运行我的可执行文件,请问我错过了什么?我搜索了一下,想知道这是否来自于试图在黑暗的月光下运行我的可执行文件,这是否意味着我的代码只能在cygwin环境中运行?
发布于 2020-05-19 22:51:41
Cygwin在Windows上提供了POSIX API环境,因此使用该API编写的软件(如Linux或BSD软件)可以轻松移植。
该环境是由Cygwin.dll提供的。您的软件将根据该DLL进行链接,这会将POSIX函数调用(如open、read或write)转换为适当的Windows函数调用。
在未安装Cygwin的系统上,该DLL不存在,因此软件将无法工作。
因此,要么你的软件需要安装Cygwin,要么你使用use the MinGW tool suite,一个不以Cygwin.dll为目标的不同的编译器集,并创建“真正的”Windows可执行文件。当然,这样您就不能在软件中访问POSIX API ...
https://stackoverflow.com/questions/61893781
复制相似问题