在cmake中相当于gcc的-mwindows选项是什么? [英] What's the equivalent of gcc's -mwindows option in cmake?
问题描述
我按照tuto:
http://zetcode.com/tutorials/gtktutorial/firstprograms/
它可以工作,但每次我双击可执行文件,有一个
我如何摆脱那个控制台?
尝试此:
add_executable(Cmd WIN32 cmd.c)
但有这个致命错误:
MSVCRTD.lib obj):error LNK2019:未解析的外部符号_WinMain @ 16在函数___tmainCRTStartup中引用
Cmd.exe:致命错误LNK1120:1未解析的外部
使用gcc直接工作时:
gcc -o Cmd cmd.c -mwindows。 。
我猜想它与输入函数有关: int main(int argc,char * argv [])
,但为什么gcc工作?
$ c> cmake ?
UPDATE 为方便起见,我在这里粘贴源代码:
#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)
不是? / p>
也许这不等同于cmake中的 -mwindows
?
add_executable(Cmd WIN32 cmd.c)
告诉CMake这是一个Windows程序,它寻找WinMain的主。如果你想看到使用的标志,你可以运行make VERBOSE = 1。问题可能是如何定义WinMain for gtk应用程序?我知道与Qt,你链接在一个库定义它为你。
I'm following the tuto:
http://zetcode.com/tutorials/gtktutorial/firstprograms/
It works but each time I double click on the executable,there is a console which I don't want it there.
How do I get rid of that console?
I tried this:
add_executable(Cmd WIN32 cmd.c)
But got this fatal error:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
Cmd.exe : fatal error LNK1120: 1 unresolved externals
While using gcc directly works:
gcc -o Cmd cmd.c -mwindows ..
I'm guessing it has something to do with the entry function: int main( int argc, char *argv[])
,but why gcc works?
How can I make it work with cmake
?
UPDATE
Let me paste the source code here for convenience:
#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
Why gcc -mwindows
works but add_executable(Cmd WIN32 cmd.c)
not?
Maybe that's not the equivalent for -mwindows
in cmake?
add_executable(Cmd WIN32 cmd.c)
Tells CMake this is a Windows program, and it looks for WinMain instead of main. If you want to see the flags being used you can run make VERBOSE=1. The question might be how do you define WinMain for gtk apps? I know with Qt, you link in a library that defines it for you.
这篇关于在cmake中相当于gcc的-mwindows选项是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!