2008-09-25 22 views
15

इस समस्या की एक त्वरित Google खोज से पता चलता है कि यह सामान्य है, मैं अपने जीवन में मेरे जीवन में समाधान का पता नहीं लगा सकता।wxwidgets setup.h "ऐसी कोई फ़ाइल नहीं"

मेरे पास wxwidgets वेबसाइट से सीधे विंडोज के लिए wxwidgets 2.8.8 का सीधा आगे स्थापित है।

जब भी मैं (जैसे कि "wxWidgets के लिए सबसे पहले प्रोग्राम" में वर्णित नमूना एप्लिकेशन के रूप में - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/) कुछ भी संकलित करने के लिए कोशिश मैं:

wx/setup.h: ऐसा कोई फ़ाइल या निर्देशिका

मैं मैंने दोनों को शामिल किया है: \ wxWidgets-2.8.8 \ include और C: \ wxWidgets-2.8.8 \ में मेरे कंपाइलर खोज सूची में \ wx शामिल है।

यह आसान होना चाहिए - लेकिन यह नहीं है! :(

एक ही बात होता है अगर मैं एक IDE wxWidgets (जैसे संहिता :: ब्लाकों के रूप में) के साथ एकीकृत उपयोग करने का प्रयास - और यह है, मैं सोचा होगा, होगा सिर्फ बाहर बॉक्स काम किया है ...

तो, कृपया कुछ मदद करें ... setup.h क्यों नहीं मिला है?

उत्तर

21

wxwidgets wxMSW इंस्टॉलर को "इंस्टॉल" करते समय उपयोग योग्य पुस्तकालयों में नहीं बनाया गया है। ऐसा इसलिए है क्योंकि बहुत सारे सह हैं nfigurable तत्व, जो ठीक है setup.h का संदर्भ है।

  1. प्रारंभ "दृश्य स्टूडियो कमांड प्रॉम्प्ट।":

    आप केवल डिफ़ॉल्ट विकल्प के साथ इसे जितनी जल्दी संभव हो के निर्माण और पर ले जाना चाहते हैं, तो यहां है आपको इसे "माइक्रोसॉफ्ट विजुअल स्टूडियो -> विजुअल स्टूडियो टूल्स" के तहत स्टार्ट मेनू में मिल जाएगा।

  2. फ़ोल्डर में बदलें: [WXWIN जड़] \ निर्माण \ एमएसडब्ल्यू

  3. बिल्ड डिफ़ॉल्ट डिबग विन्यास: nmake -f makefile.vc BUILD=debug

  4. बिल्ड डिफ़ॉल्ट रिलीज विन्यास: nmake -f makefile.vc BUILD=release

  5. यकीन है कि DLLs में हैं आपका रास्ता। वे [WXWIN रूट] \ lib \ vc_dll

  6. ऊपर उल्लिखित डीएलएल फ़ोल्डर के तहत, आपको प्रत्येक बिल्ड संस्करण (उपरोक्त निर्देश दो, डीबग और रिलीज़ के लिए उपरोक्त निर्देश) के लिए सबफ़ोल्डर मिलेंगे। प्रत्येक संस्करण फ़ोल्डर में आपको एक 'wx' फ़ोल्डर मिलेगा जिसमें 'setup.h "फ़ाइल होगी। आप देखेंगे कि setup.h फ़ाइलें प्रत्येक बिल्ड संस्करण के लिए वास्तव में अलग हैं। ये वे फ़ोल्डर्स हैं जिन्हें आपको अपनी प्रोजेक्ट बिल्ड कॉन्फ़िगरेशन में जोड़ने की आवश्यकता है पथ, एक प्रति निर्माण संस्करण। तो, उदाहरण के लिए, आप अपने रिलीज निर्माण के लिए अपने डीबग बिल्ड, [WXWIN रूट] \ lib \ vc_dll \ mswu के पथ शामिल करने के लिए [WXWIN रूट] \ lib \ vc_dll \ mswud जोड़ देंगे।

  7. कई अन्य प्रकार के संयोजनों को बनाना संभव है: स्थैतिक libs, monolithic एकल पुस्तकालय, गैर-यूनिकोड ई, आदि। अधिक विस्तृत निर्देशों के लिए [WXWIN रूट] \ docs \ msw \ install.txt देखें।

2

आपको शायद wxwidgets बनाने की आवश्यकता है। WxWidgets निर्माण प्रक्रिया में एक पोस्ट-बिल्ड चरण है जो उपयुक्त सेटअप को प्रतिलिपि बनाता है c: \ wxWidgets_install_dir \ \ wx।

+3

setup.h शामिल/wx फ़ोल्डर में नहीं होना चाहिए। यह आपको कई बिल्ड कॉन्फ़िगरेशन के साथ wxwidgets का उपयोग करने से रोक देगा; डीबग, रिलीज इत्यादि। बिल्ड प्रक्रिया वास्तव में कॉन्फ़िगरेशन-विशिष्ट फ़ोल्डर में [WXWIN रूट] \ lib के तहत उचित कॉन्फ़िगरेशन setup.h हेडर की प्रतिलिपि बनाता है। उदाहरण के लिए – kbluck

+1

यदि आप विंडोज़ के अंतर्गत हैं, तो wx/msw से wx तक setup.h कॉपी करें। – Jichao

5

WxWidgets का निर्माण करते समय, यह गतिशील रूप से निर्मित प्रत्येक बिल्ड कॉन्फ़िगरेशन के लिए setup.h फ़ाइल बनाता है। उत्पन्न setup.h फ़ाइलें, lib फ़ोल्डर के नीचे फ़ोल्डर में जमा हो जाती है उदाहरण (विंडोज पर दृश्य स्टूडियो) के लिए:

c:\wxWidgets-2.9.2\lib\vc_lib\mswu 

सफलतापूर्वक wxWidgets के आधार पर एक परियोजना का निर्माण करने के लिए, प्रोजेक्ट में प्रत्येक निर्माण विन्यास स्थापित किया जाना चाहिए अपनी अतिरिक्त अतिरिक्त निर्देशिका के साथ जो संबंधित wxwidgets को लिब के तहत फ़ोल्डर बनाते हैं, जैसे ऊपर सूचीबद्ध एक।

इसके अलावा, परियोजना में सभी बिल्ड कॉन्फ़िगरेशन के लिए सामान्य अतिरिक्त निर्देशिका निर्देशिका WxWidget के मुख्य शामिल फ़ोल्डर को इंगित करने के लिए सेट की जानी चाहिए। यह फ़ोल्डर आमतौर पर उपयोगकर्ता प्रॉपर्टी शीट में स्थापित होता है जिसका उपयोग किसी भी प्रोजेक्ट में किया जा सकता है। उदा .:

c:\wxWidgets-2.9.2\include 

जोड़ने के लिए, एक अतिरिक्त पुस्तकालय निर्देशिका सभी के लिए सामान्य विन्यास का निर्माण wxWidgets lib फ़ोल्डर को इंगित करने के लिए स्थापित किया गया है। उदा .:

c:\wxWidgets-2.9.2\lib\vc_lib 

और फिर, प्रत्येक निर्माण विन्यास के लिए विशिष्ट, अतिरिक्त निर्भरता प्रविष्टियों अप इसी wxWidgets पुस्तकालयों के पुस्तकालयों शामिल करने के लिए सेट कर रहे हैं। उदाहरण के लिए, एक यूनिकोड के लिए, डीबग बिल्ड (यू = यूनिकोड, घ = डिबग):

#include "wx/setup.h" 
:

wxbase29ud.lib 

फिर, अपनी परियोजना में उपयोग करने के लिए wxWidgets, बाहर उत्पन्न setup.h फ़ाइल शामिल करके शुरू

और फिर विशिष्ट WxWidgets कार्यक्षमता के लिए शीर्षलेख शामिल करें। उदा .:

#include <wx/slider.h> 
#include <wx/image.h> 
#include <wx/control.h> 
0

काम करने के लिए कुछ भी के लिए, आप पहली बार मुख्य लाइब्रेरीज (# फ़ाइलों .sln wx_vc) का निर्माण करने के लिए है। फिर आप शेष सामग्री के साथ काम कर सकते हैं।

याद रखें कि संकलन के लिए आपको टेस्टकेस के लिए CppUnit की आवश्यकता है।