私は Go 言語用の C バインディングを書き込もうとしていますが、Windows で Cgo コンパイルをセットアップするときに、一種の厄介な状況に遭遇しました。次のようなコードがあります。
// #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 ディレクトリに直接インストールすることを回避できますが、他の開発者が別のファイル システム セットアップで作業している場合 (彼らはすべて、ライブラリをC:/dev/extlibs/... 内)。
コード内から環境変数を参照する方法はありますか? おそらく、次のようなものです。
// #cgo windows CFLAGS: -I $EXTLIBS$/include/
または、私が見逃したこの問題を人々が解決する別の方法はありますか? 私はこの件についてグーグルで時間をかけて調べましたが、有用なものはあまり見たことがありません。