【问题标题】:_tWinMain in static lib LNK2019静态库 LNK2019 中的 _tWinMain
【发布时间】:2012-09-27 12:51:37
【问题描述】:

我尝试将 main(WinMain) 放入静态库:

#include <tchar.h>
#include <Windows.h>

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow) {...}

但我得到了:

MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

我尝试构建为“Unicode”和“多字节”。

我尝试不使用“_t”(和 LPSTR)进行编写。

我试着写 extern "C"。

链接器标志包括 /SUBSYSTEM:WINDOWS 和我的静态库

我知道这是可能的,因为它是在 SDL、SFML 等库中完成的。

【问题讨论】:

  • 您需要将其声明为extern "C"。我不知道这是否足够,但这是必要的(通过检查损坏的名称)。如果您希望您的库支持 Unicode 编译为 Unicode。

标签: c++ windows unicode static-libraries winmain


【解决方案1】:

您的问题是 lib 中的函数称为 _tWinMain

只需将其称为 WinMain 即可。

【讨论】:

  • 谢谢!现在 (extern "C" int APIENTRY WinMain) 编译“Unicode”和“多字节”模式。
猜你喜欢
  • 2012-11-08
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多