मैं खींच रहा हूँ और निर्भरता के साथ एक पैकेज को स्थापित करने, और एक संकलन में विफल रहता है, इस मामले में एक फाइल नहीं मिल रहा, magic.h
। मैं कैसे देखूं कि संकलन कमांड और झंडे क्या थे? -v
विकल्प मदद नहीं करता है। (मैं नहीं चाहता हूं कि इस बारे में विचार हो कि कहां से जादू करना है। यह केवल एक उदाहरण है।)
$ go get -u github.com/presbrey/magicmime
# github.com/presbrey/magicmime
../../../src/github.com/presbrey/magicmime/magicmime.go:20:11: fatal error: 'magic.h' file not found
#include <magic.h>
मैं कैसे उदाहरण के लिए, जहाँ यह फ़ाइलों को शामिल करने के लिए देख रहा था, क्या वास्तव में यह संकलन था स्रोत ? (इस मामले में स्रोत फ़ाइल मैं में देखते हैं $GO_PATH/src
कि है #include
पर टिप्पणी की है, और एक /usr/local/include/match.h
वैसे भी मौजूद है।)
यह टिप्पणी नहीं है, यह एक कोगो की जादुई टिप्पणी है। यह उस फ़ाइल की तलाश करता है जहाँ कोई C संकलक इसके लिए देखेगा। सुनिश्चित करें कि आपने कामेच्छा को सही तरीके से स्थापित किया है। Golang.org/cmd/cgo देखें ।
—
आइनर-जी जूल
मैंने फ़ेब्रिक का उपयोग करके अनइंस्टॉल और रीइंस्टॉल किया गया है, जो कि स्थापित भी चलते हैं। सवाल यह है कि जो चल रहा है उसे कैसे बंद करें। स्रोत फ़ाइल का उपयोग कर रहा है वह src पेड़ में एक से मेल नहीं खाता - तो यह कहाँ से मिला? $ मिल ~ / go / src -name "* .go" -exec grep magic.h {} \; // #include <Magic.h> // #include <Magic.h>> -आइटिन ने टिप्पणी की लाइन
—
timbl
क्या आपने कॉगो लिंक पढ़ा है? यह एक जादू की टिप्पणी है। गो संकलक अनुवाद करता है कि सी कंपाइलर को कॉल करें, जो बदले में विफल हो जाता है क्योंकि यह जादू नहीं पा सकता है। इसमें C फ़ाइल बनाने का प्रयास करें
—
आइनर-जी जूल
#include <magic.h>
और C कंपाइलर से संकलित करें। यह विफल नहीं होता है, यह दिलचस्प हो जाता है।
इसके अलावा आपको कॉल करने की आवश्यकता हो सकती है
—
आइनर-जी जूल
brew link libmagic
(देखें gist.github.com/eparreno/1845561 )।