मेरी आवश्यकता सरल है। मुझे msys के साथ MinGW का उपयोग करके विंडोज़ पर Googletest संकलित करना और उपयोग करना है। क्या किसी को ऐसा करने का अनुभव है?msw के साथ mingw का उपयोग कर विंडोज़ पर googletest को संकलित कैसे करें?
उत्तर के लिए धन्यवाद।
मेरी आवश्यकता सरल है। मुझे msys के साथ MinGW का उपयोग करके विंडोज़ पर Googletest संकलित करना और उपयोग करना है। क्या किसी को ऐसा करने का अनुभव है?msw के साथ mingw का उपयोग कर विंडोज़ पर googletest को संकलित कैसे करें?
उत्तर के लिए धन्यवाद।
मुझे कुछ समय लगा लेकिन मैंने इसे समझ लिया। यहां किसी भी समस्या का सामना करने वाले व्यक्ति के लिए मार्गदर्शिका दी गई है।
संकलित करने के लिए GoogleTest विंडोज पर यह निर्देशों का पालन करें सक्षम होने के लिए:
मुझे लगता है आप MSYS साथ MinGW है istalled।
आधिकारिक साइट http://www.cmake.org/ से सीएमके डाउनलोड और इंस्टॉल करें। Win32 इंस्टॉलर संस्करण का उपयोग करें। एक बार जब आप इंस्टॉलेशन प्रक्रिया को "xxx/cmake/bin" से "xxx/MinWG/bin" से निष्पादन योग्य फ़ाइलों को कॉपी कर लेते हैं।
http://www.python.org/ से पायथन डाउनलोड और स्थापित करें। फिर, विंडोज इंस्टालर ठीक काम करता है। एक बार जब आप स्थापना प्रक्रिया पूरी कर लेते हैं तो "python.exe" फॉर्म python फ़ोल्डर को "xxx/MinWG/bin" पर कॉपी करें।
http://code.google.com/p/googletest/ से नवीनतम स्थिर GoogleTest डाउनलोड करें और इसे कुछ फ़ोल्डर में अनपैक करें।
MSYS टर्मिनल चलाएं और निम्न आदेश निष्पादित करें।
cd xxx/gtest-x.x.x
cmake -G "MSYS Makefiles"
make
यदि आपके पास pthread से संकलन त्रुटियों these निर्देशों का पालन करें।
अपने मिनीजीडब्ल्यू जीसीसी में शामिल फ़ोल्डर "xxx/gtest-x.x.x/include" शामिल करें। पुस्तकालय फ़ाइलों को "xxx/gtest-x.x.x/*। A" को अपने MinGW gcc lib में कॉपी करें।
जब आप परीक्षण संकलित करते हैं तो gcc में "-lgtest" पैरामीटर जोड़ें।
संपादित टिप्पणीकारों ठीक कह रहे हैं। निष्पादन योग्यों का मुकाबला मेरे लिए काम करता था लेकिन आम तौर पर यह एक अच्छा अभ्यास नहीं है। इसके बजाय symbolic link का उपयोग करने का प्रयास करें।
वैकल्पिक रूप से सामान्य MSYS/Mingw मेक का उपयोग करके googletest बनाना भी संभव है।
तो यहाँमेरी वैकल्पिक तरीका है:
यकीन MSys/Mingw अपने Windows पर स्थापित है और पथ वातावरण इसे करने के लिए
खुला एक cmd खिड़की सेट किया गया है - आप सेट कर सकते हैं पथ स्पष्ट रूप से यहाँ भी अनज़िप googletest निर्देशिका
कॉल कॉन्फ़िगर वाई के लिए
सीडी वें sh (MSys का हिस्सा): sh configure
कॉल make
->libgtest.a
बनाया जाना चाहिए। यह आपके googletest-directory lib/.libs
उपनिर्देशिका
आपके सिस्टम में libgtest.a
को एकीकृत करने के तरीके के googletest की रीडमी देखें। संकलित करने के तरीके के googletest wiki में googletest प्राइमर भी देखें। वैकल्पिक रूप से gcc के लिए लाइब्रेरी पथ निर्दिष्ट करें और अपने परीक्षण प्रोजेक्ट निष्पादन योग्य से लिंक करने के लिए -lgtest
जोड़ें।
जब आपके परीक्षण किया कोड में इस बात पर ज़ोर के लिए (जिसका अर्थ है अपने lib या आवेदन में दावा है, googletest में नहीं) की जाँच करने के ASSERT_DEATH
मैक्रो का उपयोग, फोन SetErrorMode
- उदाहरण के मुख्य:
#include <windows.h>
#include "gtest/gtest.h"
int main (int argc, char** argv)
{
// this prevents annoying error message boxes popping up
// when assert is called in your program code
SetErrorMode(SEM_NOGPFAULTERRORBOX);
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
आप डॉन ' जब तक आप उन्हें अपने रास्ते में रखते हैं तब तक द्विआधारी की प्रतिलिपि बनाने की आवश्यकता नहीं है। पायथन और सीएमके स्थापित करें। उन्हें अपने msys में टेस्ट (MinGW कंसोल)
which cmake
which python
आप पथ को देखते हैं, तो आप बाइनरी है। यदि नहीं, तो अपने पर्यावरण चर> पथ के मार्ग को जोड़ने या बस (अद्यतन स्थापना पथ यदि आवश्यक हो तो)
export PATH=$PATH:/c/Program Files (x86)/CMake/bin/cmake.exe:/c/Python27/python.exe
msys के भीतर अपडेट तो फिर तुम सुझाव के रूप में निर्माण कर सकते हैं:
cd xxx/gtest-x.x.x
cmake -G "MSYS Makefiles"
make
टेस्ट सब कुछ काम करता है:
cd make
make
./sample1_unittest.exe
cmake/अजगर के बिना libgtest.a निर्माण करने के लिए है, लेकिन केवल MinGW बनाने का उपयोग कर, gtest अब उस में एक सादे पुराने makefile के साथ एक 'बनाना' फ़ोल्डर है।
उत्पन्न करने के लिए पुस्तकालय बनाया कोई dll के उत्पन्न के साथ एक पूर्ण स्थिर पुस्तकालय है।
यह सब होना चाहिए।
वैसे, यह googlemock बनाने के लिए भी काम करता है, बस googletest के बजाय googlemock फ़ोल्डर दर्ज करें, और उसी प्रक्रिया का पालन करें।
धन्यवाद @ जेस्पर-मैथिसन ने यह काम किया। अगर किसी को ld.exe की त्रुटि का सामना करना पड़ता है तो lpthread नहीं मिल सका। Mingw चलाने का प्रयास करें- [link] (http://mingw-users.1079350.n2.nabble.com/GCC-doesn-t-work-quot-ld-exe-cannot- की टिप्पणी में उल्लिखित libpthreadgc-dev इंस्टॉल करें लगता है-lpthread-quot-td7584243.html)। धन्यवाद –
कृपया बताएं कि क्या गलत हो रहा है। – LumpN
मैंने कुछ प्रगति की है। ऐसा लगता है कि यह एक अजगर के बिना स्थापित नहीं कर सकता जो मेरे पास नहीं है। मैं इसे हल करने के लिए अब बांध रहा हूँ। –