विंडोज पीसी पर MinGW32
का उपयोग करके मैं pySpotify संकलित करने की कोशिश कर रहा हूं। पहली त्रुटि यह थी कि libspotify/api.h
गुम था। से उचित फ़ोल्डर को C:\MinGW\include
में उचित फ़ोल्डर की प्रतिलिपि बनाकर तय किया गया है। हालांकि अब dllwrap
अब ld linking.
साथ विफल हो रहा है बाइनरी Spotify
वितरित करते हैं libspotify.dll
और libspotify.lib.
कोई फर्क नहीं पड़ता है जहाँ मैं उन्हें (pySpotify फ़ोल्डर/उप-फ़ोल्डर, अस्थायी निर्माण फोल्डर/सबफ़ोल्डर और MinGW फ़ोल्डर/उप-फ़ोल्डरों) या मैं उन्हें क्या नाम (ए डाल , .o & .so) यह अभी भी वही त्रुटि संदेश दिखाता है।मिनीजीडब्ल्यू 32 संकलन में libspotify .dll/.lib फ़ाइलों का उपयोग pySpotify
उचित त्रुटि है:
C:\MinGW\bin\dllwrap.exe -mdll -static --output-lib build\temp.win32-2.7\Release\src\lib_spotify.a --def build\temp.win32-2.7\Release\src\_spotify.def -s build\temp.win32-2.7\Release\src\module.o build\temp.win32-2.7\Release\src\session.o build\temp.win32-2.7\Release\src\link.o build\temp.win32-2.7\Release\src\track.obuild\temp.win32-2.7\Release\src\album.o build\temp.win32-2.7\Release\src\albumbrowser.o build\temp.win32-2.7\Release\src\artist.o build\temp.win32-2.7\Release\src\artistbrowser.o build\temp.win32-2.7\Release\src\search.o build\temp.win32-2.7\Release\src\playlist.o build\temp.win32-2.7\Release\src\playlistcontainer.o build\temp.win32-2.7\Release\src\playlistfolder.o build\temp.win32-2.7\Release\src\image.o build\temp.win32-2.7\Release\src\user.o build\temp.win32-2.7\Release\src\pyspotify.o build\temp.win32-2.7\Release\src\toplistbrowser.o -LC:\Python26\libs -LC:\Python26\PCbuild -lspotify -lpython26 -lmsvcr90 -o build\lib.win32-2.7\spotify\_spotify.pyd
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lspotify
collect2.exe: error: ld returned 1 exit status
dllwrap: gcc exited with status 1
error: command 'dllwrap' failed with exit status 1
आप (मैं ~ \ libspotify की तरह कुछ जोड़ने \ करने के लिए शामिल हैं रास्ते में एपीआई हेडर जोड़ने की जरूरत है अपने कंपाइलर विकल्प) और लाइब्रेरी पथ में साझा लाइब्रेरी (ऐड-एल ~ \ libspotify \ lib आपके लिंकर विकल्पों में)। यह आवश्यक बाइनरी ऑब्जेक्ट्स को खोजने के लिए संकलक को जरूरी फाइलों और आपके लिंकर को ढूंढने की अनुमति देगा।
हालांकि distutils
एक्सटेंशन वर्ग पदावनत और कड़ी किए जाने के लिए दस्तावेज़ प्राप्त करने के (मेरा मानना है कि यह वह जगह है जहाँ कस्टम संकलक विकल्पों जाने की जरूरत है) लगता है। प्रशंसा करें कि ~
को बदलकर %USERPROFILE%
या इसी तरह की आवश्यकता हो सकती है। इसी प्रकार %PYTHONPATH%\Lib\distutils\distutils.cfg
में [build]
compiler=mingw32
स्टांजा से थोड़ा कम दस्तावेज है। यह संकलन/लिंक कमांड को संपादित करता है और उनके विकल्पों को बदलने के लिए असंभव है।
आप विंडोज़ पर pySpotify कैसे संकलित करते हैं?
संपादित करें:
अजगर 2.6 और नकल libspotify.dll/सी के लिए libspotify.lib का उपयोग करके: \ Python26 \ PCbuild और उन्हें नाम बदलने spotify.dll को/libspotify.lib मैं अब एक और त्रुटि संदेश मिलता है एलडी से:
C:\MinGW\bin\dllwrap.exe -mdll -static --output-lib build\temp.win32-2.6\Release\src\lib_spotify.a --def build\temp.win32-2.6\Release\src\_spotify.def -s build\temp.win32-2.6\Release\src\module.o build\temp.win32-2.6\Release\src\session.o build\temp.win32-2.6\Release\src\link.o build\temp.win32-2.6\Release\src\track.obuild\temp.win32-2.6\Release\src\album.o build\temp.win32-2.6\Release\src\albumbrowser.o build\temp.win32-2.6\Release\src\artist.o build\temp.win32-2.6\Release\src\artistbrowser.o build\temp.win32-2.6\Release\src\search.o build\temp.win32-2.6\Release\src\playlist.o build\temp.win32-2.6\Release\src\playlistcontainer.o build\temp.win32-2.6\Release\src\playlistfolder.o build\temp.win32-2.6\Release\src\image.o build\temp.win32-2.6\Release\src\user.o build\temp.win32-2.6\Release\src\pyspotify.o build\temp.win32-2.6\Release\src\toplistbrowser.o -LC:\Python26\libs -LC:\Python26\PCbuild -lspotify -lpython26 -lmsvcr90 -o build\lib.win32-2.6\spotify\_spotify.pyd
_spotify.exp: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
dllwrap: gcc exited with status 1
error: command 'dllwrap' failed with exit status 1
शायद निरपेक्ष पथ MinGW के ld द्वारा सही ढंग से पढ़ा नहीं है? यही है, libspotify को एक सापेक्ष स्थान पर ले जाने का प्रयास करें और देखें कि क्या इससे मदद नहीं मिलती है। –
हाय निक, सुझाव के लिए धन्यवाद - लेकिन मैंने प्रत्येक फ़ोल्डर/उपफोल्डर को कॉपी करने का प्रयास किया है, मुझे कोई फायदा नहीं हुआ: "कोई फर्क नहीं पड़ता कि मैंने उन्हें कहां रखा है (pySpotify फ़ोल्डर/उपफोल्डर्स, अस्थायी फ़ोल्डर/उपफोल्डर्स और मिनीजीडब्ल्यू फ़ोल्डर/उपफोल्डर्स)। " – Metalshark