2017-08-01 85 views
-1

我使用cygwin在Windows上构建openocd。 步骤如下:Openocd cygwin依赖删除

但是,当我试图在另一个系统上使用此openocd时,它要求提供一些cygwin dll。使用openocd时有什么办法可以避免需要cygwin dll。

回答

1

使用MinGW/msys2而不是Cygwin进行构建。 MinGW使用GCC构建本地Windows应用程序,而不是模拟Linux运行时环境。

在这里介绍的方法:http://www.playembedded.org/blog/en/2015/10/11/building-openocd-under-windows-using-msys2/

您也可以从http://www.freddiechopin.info/en/download/category/4-openocd获得预建的Windows可执行文件,这是简单得多。

+0

但是使用MinGW构建openocd将包含一些MinGW依赖项。如果我的假设错误,请纠正我。 我想建立没有任何依赖关系的openocd。 我不能直接使用二进制文件,因为我打算为板子编写cfg文件。 – anandamu16

+0

Cygwin应用程序需要Cygwin运行时环境支持GNU C库中的POSIX API,MinGW使用已经包含在Windows安装中的Microsoft C运行时库。因此,MinGW应用程序不支持Windows中不可用的POSIX调用,例如fork。因此,一些POSIX相关代码将需要修改,但由于预构建的openocd可以使用MinGW来构建,这不应该成为问题,或者已经在源代码中处理过。 – Clifford

+0

查看页面我在Windows上链接openocd确实有DLL依赖关系,但这些与USB支持和pthreads相关,而不是MinGW的依赖关系;没有静态链接就没有远离。 – Clifford