我试图在Windows中移植Linux软件。 我的软件依赖于gtk,boost和libgerbv(我在cygwin上手动编译) 我已经成功编译了它,如果我在cygwin的终端中运行它,它会工作,但是如果我将.exe复制到一个带有cygwin1.dll的文件夹中并运行它,它会无声地终止 如果我在cmd.exe中运行它,结果相同 我怎样才能出口"这个可执行文件在cygwin环境之外?我想用只需要的共享库和cygwin1.dll分发它
由于
答案 0 :(得分:4)
“如何在cygwin环境之外”导出“此可执行文件?”
简而言之:这是不可能的。您需要在目标计算机上安装cygwin环境,并从cygwin shell运行在cygwin中创建的程序。
Cygwin需要一些自己的.dll
文件才能绑定到底层的Windows操作系统。如果没有完整安装cygwin,就不能将它们复制到另一个Windows系统。
以下是有关此内容的更多详细信息:What is the difference between Cygwin and MinGW?
这就是为什么我更喜欢使用MinGW来移植目标Windows系统。当涉及到在Windows上作为主机运行的不同(例如嵌入式)目标的交叉编译代码时,Cygwin拥有它的权力和存在的权利。