2014-12-04 10 views
5

के तहत WxWidgets 3.0.2 लाइब्रेरी का उपयोग करने में समस्या यह है कि मैंने wxwidgets पुस्तकालयों को कैसे संकलित किया है।Mingw 64

डाउनलोड https://sourceforge.net/projects/wxwindows/files/3.0.2/wxMSW-Setup-3.0.2.exe

set path=%MINGW%\bin 
cd D:\wxWidgets-3.0.2\build\msw 

mingw32-make -f makefile.gcc CFG=64 CXXFLAGS=-std=c++11 BUILD=debug UNICODE=1 MONOLITHIC=1 
mingw32-make -f makefile.gcc CFG=64 CXXFLAGS=-std=c++11 BUILD=release UNICODE=1 MONOLITHIC=1 
नहीं

बनाया नया पुस्तकालयों के साथ अपने परीक्षण कार्यक्रम को लिंक कर।

D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_filename.o): In function `wxChmod(wxString const&, unsigned short)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/filefn.h:513: undefined reference to `wxMSLU__wchmod(wchar_t const*, int)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_filename.o): In function `wxOpen(wxString const&, int, unsigned short)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/filefn.h:515: undefined reference to `wxMSLU__wopen(wchar_t const*, int, int)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_file.o): In function `wxRemove(wxString const&)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/wxcrt.h:758: undefined reference to `wxMSLU__wremove(wchar_t const*)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_file.o): In function `wxAccess(wxString const&, unsigned short)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/filefn.h:511: undefined reference to `wxMSLU__waccess(wchar_t const*, int)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_filefn.o): In function `wxRename(wxString const&, wxString const&)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/wxcrt.h:760: undefined reference to `wxMSLU__wrename(wchar_t const*, wchar_t const*)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_filefn.o): In function `wxRmDir(wxString const&)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/filefn.h:524: undefined reference to `wxMSLU__wrmdir(wchar_t const*)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_filefn.o): In function `wxMkDir(wxString const&, unsigned short)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/filefn.h:528: undefined reference to `wxMSLU__wmkdir(wchar_t const*)' 
D:\wxWidgets-3.0.2\lib\gcc_lib64/libwxmsw30ud.a(monolib_ffile.o): In function `wxFopen(wxString const&, wxString const&)': 
D:\wxWidgets-3.0.2\build\msw/../../include/wx/wxcrt.h:754: undefined reference to `wxMSLU__wfopen(wchar_t const*, wchar_t const*)' 

मैं यहां क्या गलत कर रहा हूं। क्या आपको पुस्तकालयों के निर्माण के तरीके से कोई समस्या दिखाई देती है।

+0

मैं Mingw 64 Drangon उपयोग कर रहा हूँ (http://www.drangon.org/mingw/) – user1

+0

यह पोस्ट देखें https://groups.google.com/ फोरम/#! विषय/wx-users/YQA0FKuyeU4 सहायक हो सकता है –

+0

मैंने wxwidgets लाइब्रेरी का उपयोग करके mingw32-make -f makefile.gcc CFG = 64 CXXFLAGS = "- std = C++ 11 -DwxUSE_UNICODE_MSLU = 0" BUILD = UNICODE = 1 MONOLITHIC = 1 डीबग करें लेकिन इससे मदद नहीं मिली। – user1

उत्तर

8

अंत में, मुझे पता चला कि WingWidgets को MingW ड्रैगन 64 बिट के साथ कैसे बनाया जाए।

आपको CXX झंडे -std=c++11 पर सेट नहीं करना चाहिए।

यहां ध्यान दें कि मुझे WxWidgets फ़ोल्डर में मिला है। मेरी समस्या है! कुछ आप सी ++ 11 मोड में wxWidgets संकलित करने के लिए चाहते हैं, आप वर्तमान में है -std के रूप में = GNU ++ 11 स्विच -std उपयोग करने के लिए = C++ 11 को निष्क्रिय:

सी ++ 11 टिप्पणी एक्सटेंशन कि wxwidgets पर निर्भर करता है। अर्थात। कृपया CXXFLAGS = "- std = gnu ++ 11" का उपयोग करें।

डाउनलोड https://sourceforge.net/projects/wxwindows/files/3.0.2/wxMSW-Setup-3.0.2.exe

set path=C:\mingw64\bin 
cd C:\wxWidgets-3.0.2\build\msw 

mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" BUILD=debug UNICODE=1 SHARED=1 
mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" BUILD=release UNICODE=1 SHARED=1 
mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" BUILD=debug UNICODE=1 SHARED=0 
mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" BUILD=release UNICODE=1 SHARED=0 
+2

शायद किसी को बग रिपोर्ट दर्ज करनी चाहिए; CXXFLAGS के लिए डिफ़ॉल्ट मान खाली है जो निर्माण त्रुटियों का भी कारण बनता है क्योंकि C++ 11 सुविधाओं पर भरोसा किया जाता है। मुझे 'config.gcc'' के साथ कोई समस्या नहीं दिखाई दे रही है जिसमें 'CXXFLAGS? = -std = gnu ++ 11' –

+3

भी बेहतर होगा, गैर मानक सुविधाओं पर निर्भरता को ठीक करना होगा :) –

+1

धन्यवाद; यह भी हल हो गया [मेरे mingw qmake (क्यूटी) सी ++ 11 मुद्दा] (http://stackoverflow.com/questions/30767553/undefined-reference-when-using-c11-qmake-flags)। –