मैं unsucessful MinGW/MSYS साथ freetype संकलित करने के लिए कोशिश कर रहाक्या किसी ने सफलतापूर्वक MingW/MSYS के साथ freetype संकलित किया है?
यहाँ मैं क्या करना है कर रहा हूँ:
cmd.exe
से मैं MSYS
करने के लिए स्विच:
C:\temp\freetype-2.3.5-1\src\freetype\2.3.5\freetype-2.3.5>bash
और फिर configure
स्क्रिप्ट
bash-3.1$ ./configure
FreeType build system -- automatic system detection
The following settings are used:
platform unix
compiler cc
configuration directory ./builds/unix
configuration rules ./builds/unix/unix.mk
If this does not correspond to your system or settings please remove the file
`config.mk' from this directory then read the INSTALL file for help.
Otherwise, simply type `make' again to build the library,
or `make refdoc' to build the API reference (the latter needs python).
cd builds/unix; ./configure
checking build system type... i686-pc-mingw32
[------ Deleted some 121 lines because they seem irrelevant for the problem ------]
config.status: creating ftconfig.h
make: Nothing to be done for `unix'.
freetype को कॉन्फ़िगर करने के बाद, मैं 0 का उपयोग करना चाहता हूंसूत्रों संकलित करने के लिए:
bash-3.1$ make
/bin/sh: cygpath: command not found
config.mk:36: /builds/freetype.mk: No such file or directory
config.mk:57: /builds/unix/install.mk: No such file or directory
builds/toplevel.mk:158: /builds/modules.mk: No such file or directory
make: *** No rule to make target `/builds/modules.mk'. Stop.
समस्या cygpath है, जो अजीब है, क्योंकि मैं cygwin स्थापित नहीं किया है हो रहा है।
bash-3.1$ make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i686-pc-msys
क्या मैं गलत करते हो:
संकलन निर्देश जनादेश gnu बनाने के बाद से, मैं इस सत्यापित?
संपादित करें: निर्देशिका में Makefile.mingw
भी है। make -f Makefile.mingw
के साथ संकलन प्रक्रिया शुरू करने का प्रयास कर रहे हैं या तो ¨make: *** No rule to make target 'MFSED', needed by 'all'. Stop.
संदेश लौटाते हैं।
अद्यतन ठीक है, मैं इस मामले में कुछ जासूस जांच किया है, और ऐसा लगता है कि समस्या precisly है, क्योंकि मैं स्थापित नहीं किया है Cygwin। मेरे पास यह धारणा है क्योंकि cygpath
एक साइगविन उपयोगिता (See here) है जो यूनिक्स-पथ को विंडोज-पथ में बदलती है और इसके विपरीत।
- ./builds/unix/aclocal.m4
- ./builds/unix/configure
- ./builds/unix/:
अब, एक
¨find . -type f -exec grep -l cygpath {} \;
कई स्थानों जहांcygpath
प्रयोग किया जाता है पाता है unix-def.in - ./builds/unix/unix-def.mk
- ./patches/freetype-2.3.4.diff
- ./patches/freetype-2.3.5/build एस/यूनिक्स/unix-def.mk
- ./patches/freetype-2.3.5.diff
और मुझे लगता है कि मैं एक या एक से इन स्थानों का निर्माण ठीक करने के लिए अधिक में कुछ बदलने के लिए होगा । सही? मैं अभी भी उम्मीद कर रहा हूं कि संपूर्ण ./configure-build प्रक्रिया के बारे में अधिक जानकारी वाले किसी को मुझे इस मुद्दे पर संकेत मिल सकता है।
अद्यतन द्वितीय: rubenvb के जवाब से, मैं समझ रहा ./configure --build=i686-pc-mingw32
और की कोशिश कर सकते तो पढ़ने
TOP_DIR := $(shell cd $(TOP_DIR); cygpath -m `pwd`)
builds/unix/unix-def.mk
में
और तो परिवर्तन लाइन लाइन पढ़ने को दूर
RCTOOL_COMPILE = RCTOOL
से
RCTOOL_COMPILE = $(RCTOOL)
./builds/freetype.mk
और भी
http://gnuwin32.sourceforge.net/rctool.sh.txt
c:\mingw\bin
करने के लिए (के बाद से वहाँ लापता
rctool.sh
की वजह से अजीब त्रुटियां होने पर) को कॉपी करने और
में
तो make
साथ संकलन की प्रक्रिया शुरू।
अब, स्रोत फ़ाइलों का संकलन में पिछले करने के लिए (कम से कम आंशिक रूप से) पूरा लग रहा था, हालांकि मैं
./src/base/ftcalc.c:75:3: warning: 'FT_RoundFix' redeclared without dllimport attribute: previous dllimport ignored
तरह कई चेतावनी मिल गया है लेकिन लिंकर * ओ लिंक करने में असमर्थ है फ़ाइलों मुझे लगता है कि संकलन चेतावनी लिंकर त्रुटियों से संबंधित नहीं नहीं कर रहे हैं क्योंकि वहाँ की तरह
C:\temp\freetype-2.3.5-1\src\freetype\2.3.5\freetype-2.3.5/src/base/ftinit.c:89: undefined reference to `_imp__FT_Add_Module'
कई अपरिभाषित संदर्भ हैं।
तो, अब क्या?
आपकी बहुमूल्य मदद के लिए धन्यवाद। दुर्भाग्यवश, न तो विकल्प ने किसी भी बदलाव को बदल दिया, दोनों अभी भी लापता 'साइगपाथ' से संबंधित एक ही त्रुटि उत्पन्न करते हैं। मुझे एक रीडमे मिला (जिसे वास्तव में * INSTALL.UNIX * और * UPGRADE.UNIX * कहा जाता है, जिनमें से दोनों को स्पष्ट रूप से मिनजीडब्लू/एमएसवाईएस उपयोग के लिए कहा गया है) और मुझे मूल रूप से करने के लिए बताएं जो मैंने पहले ही किया है।मैं तर्क नहीं देता कि मैंने काफी मेहनत नहीं की है (हालांकि मैंने पहले से ही 4-5 घंटे बिताए हैं), लेकिन पूरी बात नहीं है ./configure चीज़ को अलग-अलग प्लेटफॉर्म के बारे में चिंता करने की ज़रूरत नहीं है? –
ठीक है, एक msys पर्यावरण में cygpath की आवश्यकता नहीं है। क्या आप निश्चित रूप से mingw32-make का उपयोग कर विंडोज कंसोल (cmd.exe) से मिंगव मेकफ़ाइल का उपयोग नहीं कर रहे हैं? – rubenvb
जब मैं एक cmd.exe और 'में सी सीडी खोलने: \ अस्थायी \ freetype-2.3.5-1 \ src \ freetype \ 2.3.5 \ freetype-2.3.5' और करना एक' mingw32-make.exe -f Makefile.mingw', कई लाइनों को प्रिंट करने के बाद अंततः 'mingw32-make प्रिंट करता है: ***' सभी 'द्वारा आवश्यक' MFSED 'लक्ष्य बनाने का कोई नियम नहीं है। रोकें। –