पर qDebug() कथन को कैसे रीडायरेक्ट करता है QDebug() कथन क्यूटी के मानक संदेश हैंडलर के साथ ठीक काम करता है लेकिन जब मैं अपने आप स्विच करता हूं, तो मैं असफल रहता हूं, मैं यहां अपील कर रहा हूं देखें कि किसी और को समस्या के साथ कोई अनुभव है या नहीं।Qt5 क्यूटी निर्माता 2.6 कंसोल
बातें मुझे पता है के बारे में/की कोशिश की है, कि कुछ भी नहीं ...
1) CONFIG += console
2) DEFINES -= QT_NO_WARNING_OUTPUT QT_NO_DEBUG_OUTPUT
3) ::fprintf(stderr, "ERROR\n"); ::fflush(stderr);
4) ::fprintf(stdout, "OUTPUT\n"); ::fflush(stdout);
5) std::cerr << "CERROR" << std::endl; std::cerr.flush();
हालांकि इसे सही ढंग से काम करता है जब हैंडलर में बनाया का उपयोग कर
int main(int argc, char *argv[]) {
// Use my handler
qInstallMessageHandler(MyCustomLogger);
qDebug() << "Not Printed";
// Use standard handler
qInstallMessageHandler(0);
qDebug() << "Correctly Printed";
// Use my handler again
qInstallMessageHandler(MyCustomLogger);
qDebug() << "Not Printed Again...";
}
(यानी यह QtCreator कंसोल के लिए संदेश प्रिंट) सबसे हाल ही में परीक्षण अपने आप को एक सांत्वना WinAPI आदेशों यह सब सही व्यवहार में परिणाम का उपयोग कर आवंटन किया गया था मेरे द्वारा बनाए गए कंसोल पर stderr और stdout के आउटपुट दिखाई दे रहे हैं। हालांकि, यह वह व्यवहार नहीं है जिसे मैं चाहता हूं, मैं QtCreator में इस आउटपुट को देखने में सक्षम होना चाहता हूं।
मानक संदेश हैंडलर डीबगर को कैसे प्रिंट करता है इस पर कोई विचार? मैंने अभी तक इसे क्यूटी स्रोतों में नहीं ढूंढ पाया है।
खिड़कियों पर, qDebug() डिबग चैनल, नहीं stderr उपयोग करता है। –
मुझे स्वीकार करना होगा कि मैंने कभी भी डीबग चैनल के बारे में कभी नहीं सुना है, Google पर। –