我正在嘗試爲Go語言編寫一些C語言綁定,並且在Windows中設置Cgo編譯時遇到了一些棘手的情況。我有一些代碼如下所示:是否可以在cgo CFLAGS註釋中使用環境變量?
// #cgo windows CFLAGS: -I C:/dev/extlibs/include/
// #cgo windows LDFLAGS: -lMyLib -L C:/dev/extlibs/lib/
// #include <mylib/mylib.h>
import "C"
這讓我避免安裝的DLL庫和頭文件直接到我的C:\ Windows目錄中,但不允許太多的靈活性,當其他開發商正在使用不同的文件系統設置(它們都需要將lib放在C:/ dev/extlibs /中)。
有沒有一種方法可以引用代碼中的環境變量?也許沿着這樣的路線:
// #cgo windows CFLAGS: -I $EXTLIBS$/include/
或者是有另一種方式,人們解決這個問題,我錯過了?我花了一些時間在這個主題上搜索,並沒有看到太多有用的東西,所以任何信息和/或資源都可能是真正的幫助!
這些是一些好主意。我會給他們一個嘗試。 FWIW,我在darwin/linux上使用了pk-config,但是它總是比Windows在過去值得的更麻煩。 –
@ChrisCovert是的,我花了一段時間才弄清楚Win8上的依賴關係:-(儘管如此,鏈接的SO問題在評論中有一些好的鏈接 – Intermernet
FWIW,我想我要去給pkg-config一個試試看,看看它是否比上次更好。謝謝你的資源! –