tcc:错误:未定义的符号' _GetConsoleWindow @ 0'

时间:2015-05-14 17:27:43

标签: c++ c compiler-errors

我在C / C ++中创建一个必须使用以下代码隐藏的程序:

#define _WIN32_WINNT 0x0500
#include <windows.h>
int main(){
    HWND hWnd = GetConsoleWindow();
    ShowWindow(hWnd, SW_HIDE);
    . . .
}

我真的想用tinyc来编译它,因为它比gcc要好得多(差不多,最终的可执行文件比gcc要小得多)。
关键是当我尝试使用以下方法编译它时:

tcc PROGRAM.c -luser32

出现错误,说:

tcc: error: undefined symbol '_GetConsoleWindow@0'

但是当我使用gcc时它会起作用!我想我错过了图书馆,但我不知道哪一个 请帮忙:))

1 个答案:

答案 0 :(得分:3)

根据MSDNGetConsoleWindow位于Kernel32.dll

尝试:

tcc PROGRAM.c -luser32 -lkernel32

编辑:

tcc&#39; kernel32.def缺少GetConsoleWindow的导出。

将字符串GetConsoleWindow添加到位于tcc安装文件夹内lib目录中的def文件的末尾。