2012-07-23 38 views
5

ठीक है, मैंने tutorial में दिखाए गए सब कुछ करने की कोशिश की, लेकिन यह केवल कंसोल दिखाता है और कुछ भी नहीं। इस घड़ी कार्यक्रम का प्रयास किया और यह ठीक काम करता है। मैंने सभी libs को जोड़ा, और सभी .dll फ़ाइलों की प्रतिलिपि बनाई, इसलिए वास्तव में नहीं पता कि मैं कहां गलत हूं। कृपया मुझे बताएं कि विंडो दिखाने के लिए क्या करना है। मैं वीएस -2010, एसएफएमएल 1.6 का उपयोग कर रहा हूं और यहां मेरा कोड है।सी ++/एसएफएमएल विंडो निर्माण

#include <SFML\Window.hpp> 

    int main() 
    { 

     sf::Window App(sf::VideoMode(640, 480, 32), "wut"); 

     while (App.IsOpened()) 
     { 
       sf::Event Event; 
       while (App.GetEvent(Event)) 
       { 
       // Window closed 
       if (Event.Type == sf::Event::Closed) 
        App.Close(); 

       // Escape key pressed 
       if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape)) 
        App.Close();   
       }; 
       App.Display(); 

      } 
    }; 

उत्तर

0

इस प्रयास करें:

#include <SFML/Window.hpp> 
#include <SFML/Graphics.hpp> 

int main() 
{ 
    // Create the main rendering window 
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Graphics"); 

    // Start game loop 
    while (App.IsOpened()) 
    { 
     // Process events 
     sf::Event Event; 
     while (App.GetEvent(Event)) 
     { 
      // Close window : exit 
      if (Event.Type == sf::Event::Closed) 
       App.Close(); 
     } 

     // Clear the screen (fill it with black color) 
     App.Clear(); 

     // Display window contents on screen 
     App.Display(); 
    } 

    return EXIT_SUCCESS; 
} 
+0

फिर भी यह केवल कंसोल दिखाता है, और विंडो दिखाई नहीं देगी। मेरे वीएस 2010 में मेरे पास न तो त्रुटियां हैं और न ही चेतावनियां हैं। मुझे जितनी जल्दी हो सके यह सब चाहिए। मुझे उम्मीद है कि इसे काम करने का कोई तरीका है, या कुछ ग्राफिक्स इंजन एसएमएफएल (ऑब्जेक्ट ओरिएंटेड ऑफसी) जितना आसान है। – Dreat

0

आप sfml-मुख्य पुस्तकालय के खिलाफ लिंक करते हैं? यदि नहीं, तो कोशिश करें, अगर यह विफल हो जाता है, तो मुख्य() फ़ंक्शन के बजाय WinMain करने का प्रयास करें। साथ ही, सुनिश्चित करें कि विजुअल स्टूडियो ने आपके प्रोजेक्ट को कंसोल प्रोग्राम में सेट नहीं किया है।

0

मैं हाल ही में एसएफएमएल का उपयोग कर रहा हूं। क्रम में इन सुझावों को आज़माएं प्रत्येक पिछले परिवर्तन रखते हुए,:

#include <SFML/System.hpp> 
#include <SFML/Window.hpp> 
#include <SFML/Graphics.hpp> 

यह sf :: RenderWindow, नहीं sf :: विंडो

यह while (App.isOpen()) जा IsOpened नहीं करना चाहिए()

तो यह does not होना चाहिए प्रतीत होता है कि आपके रेंडरविंडो पर फ़ंक्शन "isOpen" है, तो आपके पास शायद SFML2 नहीं है, जिसे मैं तुरंत प्राप्त करने की अनुशंसा करता हूं।

क्या आपने अपने कंप्यूटर के लिए पुस्तकालयों का पुनर्निर्माण किया था, या आपने बस डीडीएल को प्रदान करने का प्रयास किया था? आपको सीमेक का उपयोग करके उन्हें पुनर्निर्माण करने की आवश्यकता हो सकती है, और जो भी आपका कंपाइलर है। मुझे पता है मैंने किया था।

अंत में, मैं नवीनतम आईडी :: ब्लॉक्स को आपके आईडीई के रूप में उपयोग करने की भी सिफारिश करता हूं, लेकिन मुझे लगता है कि केवल अंतिम उपाय के रूप में स्विच किया जाता है।

संबंधित मुद्दे