c++ - 台积电 : error: undefined symbol '_GetConsoleWindow@0'

标签 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 时它起作用了!我想我错过了一个图书馆,但我不知道是哪一个。
请帮忙:)

最佳答案

根据 MSDN , GetConsoleWindow 位于Kernel32.dll

尝试:

tcc PROGRAM.c -luser32 -lkernel32

编辑:

tcc 的 kernel32.def 缺少 GetConsoleWindow 的导出。

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

关于c++ - 台积电 : error: undefined symbol '_GetConsoleWindow@0' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243579/

相关文章:

c++ - boost::container::small_vector 似乎没有就地分配

c++ - MVCC 实现中的无锁读写器同步

java - 如何从它本身(也是主类)更新GUI?

c++ - 链接错误 : undefined reference

c++ - 如何在 C++ 中读取和解析 CSV 文件?

c++ - 安装 BLAS 时遇到问题,以及 CMakeLists 的用途?

android - Android图像原像处理中的C Jni错误

c++ - 如何找到社交网络实体之间的连接类型

c - 尝试理解 fork 以及父进程和子进程之间的关系

java - 使用 if/else 语句时“无法解析符号”