Tôi đang cố gắng viết một số ràng buộc C cho ngôn ngữ Go, và đã chạy vào một tình huống dính khi thiết lập trình biên dịch Cgo trong Windows. Tôi có mã trông giống như sau:Có thể sử dụng các biến môi trường trong bình luận CFLAGS của cgo không?
// #cgo windows CFLAGS: -I C:/dev/extlibs/include/
// #cgo windows LDFLAGS: -lMyLib -L C:/dev/extlibs/lib/
// #include <mylib/mylib.h>
import "C"
đó là cho phép tôi để tránh cài đặt các file DLL, libs, và các tập tin tiêu đề trực tiếp vào C của tôi: thư mục \ Windows, nhưng không cho phép nhiều sự linh hoạt khi các nhà phát triển khác đang làm việc với một thiết lập hệ thống tập tin khác (tất cả đều cần libs trong C:/dev/extlibs/...).
Có cách nào tôi có thể tham chiếu biến môi trường từ bên trong mã không? Có lẽ một cái gì đó dọc theo dòng:
// #cgo windows CFLAGS: -I $EXTLIBS$/include/
Hoặc có cách nào khác để mọi người giải quyết vấn đề này mà tôi đã bỏ lỡ không? Tôi đã dành một số thời gian googling xung quanh về chủ đề này và đã không nhìn thấy nhiều mà đã được hữu ích, vì vậy bất kỳ thông tin và/hoặc tài nguyên có thể là một trợ giúp thực sự!
Đó là một số ý tưởng hay. Tôi sẽ thử. FWIW, tôi sử dụng pk-config trên darwin/linux, nhưng nó luôn luôn có vẻ rắc rối hơn một chút so với giá trị của nó trên Windows trong quá khứ. –
@ChrisCovert Vâng, tôi mất một thời gian để phân loại các phụ thuộc vào Win8 :-(Có nó cuối cùng mặc dù, liên kết SO câu hỏi có một vài liên kết tốt trong các ý kiến – Intermernet
FWIW, tôi nghĩ rằng tôi sẽ cung cấp cho thử pkg-config và xem liệu nó có hoạt động tốt hơn một chút so với lần trước hay không. –