2017-08-01 84 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