C++ SFML链接器错误:未解析的外部符号_WinMain@16,Visual Studio 2012
我能够很好地进行编译。但我无法编译 当您执行new->Project时,这些设置中的一个可能会产生干扰?很确定我做了一个空的项目,否则控制台 怎么了? 编译错误:C++ SFML链接器错误:未解析的外部符号_WinMain@16,Visual Studio 2012,c++,linker,visual-studio-2012,sfml,C++,Linker,Visual Studio 2012,Sfml,我能够很好地进行编译。但我无法编译 当您执行new->Project时,这些设置中的一个可能会产生干扰?很确定我做了一个空的项目,否则控制台 怎么了? 编译错误: Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup C:\...\02-videomode-iterate\MSVCRTD.lib(crtexew.obj) 02-
Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function
___tmainCRTStartup C:\...\02-videomode-iterate\MSVCRTD.lib(crtexew.obj) 02-videomode-iterate
Error 2 error LNK1120: 1 unresolved externals C:\...\Debug\02-videomode-iterate.exe 02-videomode-iterate
全部资料来源:
#include <SFML/Window.hpp>
int main()
{
sf::Window App(sf::VideoMode(800, 600, 32), "SFML-tut: 02");
bool Running = true;
while (Running)
{
App.Display();
}
return EXIT_SUCCESS;
}
#包括
int main()
{
sf::窗口应用程序(sf::视频模式(80060032),“SFMLTUT:02”);
bool Running=true;
(跑步时)
{
App.Display();
}
返回退出成功;
}
项目设置:
include dir,lib:dir设置正确
c++->预处理器->预处理器定义:
SFML_动态
链接器->输入
已尝试:sfml window.lib
和sfml-window-d.lib
(visual studio似乎总是在开始时使用调试模式?但教程#1仅在我未使用-d版本时才起作用
子系统:
/子系统:WINDOWS
设置
/SUBSYSTEM:WINDOWS
标志时,链接器将查找WinMain
函数,而不是传统的main
。您有两个选项:
/SUBSYSTEM:CONSOLE
。您将获得一个恼人的(或可能有用的)控制台窗口,您可以使用免费控制台
摆脱该窗口main
更改为WinMain
:
int CALLBACK WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
);
除非您需要访问argc
和argv
,否则此更改不会引起太多麻烦编辑:也许这也值得一看(复制自第二个教程): 在Windows操作系统下,您可能已经创建了“Windows “应用程序”项目,尤其是不想显示控制台的情况下。 在这种情况下,为了避免用WinMain替换main,您可以链接 SFML_主静态库,并保留一个标准的便携式主条目 重点
因此,我假设这归结为将
sfml main.lib
(或类似)添加到要链接的库列表中。当您设置/SUBSYSTEM:WINDOWS
标志时,链接器将查找WinMain
函数,而不是传统的main
。您有两个选项:
/SUBSYSTEM:CONSOLE
。您将获得一个恼人的(或可能有用的)控制台窗口,您可以使用免费控制台
摆脱该窗口main
更改为WinMain
:
int CALLBACK WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
);
除非您需要访问argc
和argv
,否则此更改不会引起太多麻烦编辑:也许这也值得一看(复制自第二个教程): 在Windows操作系统下,您可能已经创建了“Windows “应用程序”项目,尤其是不想显示控制台的情况下。 在这种情况下,为了避免用WinMain替换main,您可以链接 SFML_主静态库,并保留一个标准的便携式主条目 重点 因此,我认为这归结为向要链接的库列表中添加
sfmlmain.lib
(或类似内容)