मैं tuto अनुसरण कर रहा हूं:सेमेक में जीसीसी के -विंडोज़ विकल्प के बराबर क्या है?
http://zetcode.com/tutorials/gtktutorial/firstprograms/
यह काम करता है लेकिन हर बार मैं दोगुना निष्पादन पर क्लिक करें, वहाँ एक सांत्वना जो मैं नहीं है यह वहाँ चाहते हैं।
मैं उस कंसोल से कैसे छुटकारा पा सकता हूं?
मैं इस कोशिश की:
add_executable(Cmd WIN32 cmd.c)
लेकिन इस गंभीर त्रुटि है: जीसीसी का उपयोग कर
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function ___tmainCRTStartup
Cmd.exe : fatal error LNK1120: 1 unresolved externals
जबकि सीधे काम करता है:
gcc -o Cmd cmd.c -mwindows ..
मेरा अनुमान है कि यह करने के लिए कुछ न कुछ है प्रवेश समारोह के साथ: int main(int argc, char *argv[])
, लेकिन जीसीसी क्यों काम करता है?
मैं इसे cmake
के साथ कैसे काम कर सकता हूं?
अद्यतन
मुझे सुविधा के लिए यहां स्रोत कोड पेस्ट करते हैं:
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
UPDATE2
क्यों gcc -mwindows
काम करता है लेकिन add_executable(Cmd WIN32 cmd.c)
नहीं?
शायद यह -mwindows
के लिए cmake में समकक्ष नहीं है?
लेकिन मैं 'मुख्य' के साथ एक खिड़की कार्यक्रम बनाने के लिए जीसीसी का उपयोग कर सकता हूं, क्यों नहीं 'cmake'? बीटीडब्लू, क्या आप विस्तारित कर सकते हैं कि एक प्रोपर 'विनमेन' फ़ंक्शन क्या है? मैंने 'मुख्य' को 'WinMain' में बदलने की कोशिश की है लेकिन अभी भी काम नहीं कर रहा है। – Gtker
'int main (int, char **)' प्रविष्टि बिंदु का कंसोल संस्करण है। 'int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) 'प्रविष्टि बिंदु का विंडो संस्करण है। – Blindy
आपके पहले प्रश्न के बारे में, सेमेक ठीक वही करता है जो आप इसे करने के लिए कहते हैं। आपको नहीं पूछना चाहिए "क्यों नहीं ले सकता?", आपको पूछना चाहिए "मैं क्यों सेमेक को नहीं बता सकता ...?"। – Blindy