使用cl和crinkler找不到符号'___security_cookie'

问题描述

当我链接链接器“ crinkler输出以下错误时,我正在尝试编译一个在Windows中使用c在网格中绘制正方形的程序。

WINPNT.OBJ: _WindowProc@16: error LNK: Cannot find symbol '___security_cookie'
WINPNT.OBJ: _WindowProc@16: error LNK: Cannot find symbol '@__security_check_cookie@4'

我已经做过一些测试,注释掉了代码的某些部分,但似乎与BeginPaint和/或EndPaint有关。当对它们的行进行注释时,一切都很好,但是当我对它们进行注释时,错误就会返回。

cl命令行是:

cl /c /Fowinpnt.obj winpaint.c

crinkler命令行为:

crinkler /NODEFAULTLIB /ENTRY:main /SUBSYstem:WINDOWS /TINYHEADER /TINYIMPORT /OUT:winpnt.exe winpnt.obj kernel32.lib user32.lib gdi32.lib

代码的相关部分是:

#define TILE_SIZE 40
case WM_PAINT:
    PAINTSTRUCT ctx;
    HDC device = BeginPaint(hwnd,&ctx);

        Rectangle(
            device,square_pos[0] * TILE_SIZE,square_pos[1] * TILE_SIZE,(square_pos[0] + 1) * TILE_SIZE,(square_pos[1] + 1) * TILE_SIZE);
    EndPaint(hwnd,&ctx); 
    break;

如果有人想看完整的源代码,请访问此pastebin

我找不到导致错误的原因或解决方法,任何人都知道解决该问题的方法吗? 谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)