我有链接器错误:对text.h函数的未定义引用,如textout,selectobject,beginpaint。但我能够删除错误
在sublime构建系统中添加"-mwindows"
。但现在我无法在Windows终端获得任何输出。例如:如果我尝试使用printf("test");
,它将不会在Windows终端中显示任何输出,而textout()
只会在gui窗口中输出textout字符串。
我尝试使用codeblocks,它能够在Windows终端中输出printf,在另一个窗口中输出textout。
无论如何,我可以让崇高的构建系统做同样的事情吗?
{
"cmd": ["gcc", "-Wall","-mwindows","-pedantic-errors", "$file_name","-o", "${file_base_name}.exe", "&&", "start", "cmd", "/k" , "$file_base_name"],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true
}
答案 0 :(得分:2)
如果要构建控制台应用程序,则还需要将-mconsole
选项添加到编译器命令行。
这将为您提供一个Windows应用程序,可以在控制台(基于文本的环境)的上下文中自动创建和运行。
如果您只是通过-mwindows
,那么您将获得一个期望拥有GUI的标准Windows应用程序。您(您的代码)负责创建窗口并将文本/图形输出到该窗口。它不会自动发生。