title: VisualStudio 2019: Switch app from Console to Windows, get tons of linker errors
body: <p>I have an OpenGL app I've just ported to Windows, and it works fine as a Console app. However, for the Release build, I'd like to avoid having that console terminal window pop up. My understanding is that all I have to do is go into Properties &gt; Linker &gt; System &gt; SubSystem and switch it from Console to Windows. I also changed the entry point to main so that I don't have to do a bunch of unnecessary #ifdefs. Unfortunately, I now get a ton of linker errors. I've tried googling them, but I'm getting nowhere. I found something about missing dependencies on a &quot;CRT,&quot; but it's already linking against MSVCRT.lib. Perhaps someone can help me figure out what to do.</p>
  <pre><code>1&gt;blocklibrary.obj : error LNK2001: unresolved external symbol __CxxFrameHandler4
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
  1&gt;MSVCRT.lib(gshandlereh4.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
  1&gt;blocklibrary.obj : error LNK2001: unresolved external symbol __std_exception_destroy
  1&gt;MSVCRT.lib(throw_bad_alloc.obj) : error LNK2001: unresolved external symbol __std_exception_destroy
  1&gt;blocklibrary.obj : error LNK2001: unresolved external symbol __std_exception_copy
  1&gt;MSVCRT.lib(throw_bad_alloc.obj) : error LNK2001: unresolved external symbol __std_exception_copy
  1&gt;blocklibrary.obj : error LNK2001: unresolved external symbol __std_terminate
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __std_terminate
  1&gt;blocklibrary.obj : error LNK2001: unresolved external symbol __imp__invalid_parameter_noinfo_noreturn
  1&gt;blocktype.obj : error LNK2001: unresolved external symbol _purecall
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fputc
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fflush
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fclose
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fgetc
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp__unlock_file
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp__lock_file
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fwrite
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fgetpos
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_setvbuf
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_ungetc
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fsetpos
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp_fread
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp__fseeki64
  1&gt;chunk.obj : error LNK2001: unresolved external symbol __imp__get_stream_buffer_pointers
  1&gt;datacontainer.obj : error LNK2001: unresolved external symbol __imp___acrt_iob_func
  1&gt;datacontainer.obj : error LNK2001: unresolved external symbol __imp___stdio_common_vfprintf
  1&gt;facing.obj : error LNK2001: unresolved external symbol __imp_tolower
  1&gt;facing.obj : error LNK2001: unresolved external symbol __imp_atoi
  1&gt;facing.obj : error LNK2001: unresolved external symbol __imp_isdigit
  1&gt;filelocator.obj : error LNK2001: unresolved external symbol __imp_strcat_s
  1&gt;geometry.obj : error LNK2001: unresolved external symbol __imp_lrint
  1&gt;glad.obj : error LNK2001: unresolved external symbol __imp_strncmp
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_strncmp
  1&gt;glfw3.lib(context.obj) : error LNK2001: unresolved external symbol __imp_strncmp
  1&gt;glfw3.lib(egl_context.obj) : error LNK2001: unresolved external symbol __imp_strncmp
  1&gt;glfw3.lib(osmesa_context.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(win32_init.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(vulkan.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(wgl_context.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(egl_context.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(init.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(win32_window.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(win32_monitor.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glad.obj : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(window.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol __imp_free
  1&gt;glad.obj : error LNK2001: unresolved external symbol strstr
  1&gt;glfw3.lib(context.obj) : error LNK2001: unresolved external symbol strstr
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol strstr
  1&gt;glad.obj : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf
  1&gt;glfw3.lib(context.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsscanf
  1&gt;glad.obj : error LNK2001: unresolved external symbol __imp_malloc
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __imp_malloc
  1&gt;main.obj : error LNK2001: unresolved external symbol __imp_exit
  1&gt;glfw3.lib(osmesa_context.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(win32_init.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(vulkan.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(wgl_context.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(egl_context.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(init.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(win32_window.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(win32_monitor.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;main.obj : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(window.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol __imp_calloc
  1&gt;main.obj : error LNK2001: unresolved external symbol __imp___stdio_common_vsprintf_s
  1&gt;mesh_parser.obj : error LNK2001: unresolved external symbol __imp_atof
  1&gt;mesh_parser.obj : error LNK2001: unresolved external symbol __imp_isspace
  1&gt;render.obj : error LNK2001: unresolved external symbol __imp__beginthreadex
  1&gt;render.obj : error LNK2001: unresolved external symbol __imp_terminate
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __imp_terminate
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_ftell
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_ferror
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_realloc
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_realloc
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol __imp_realloc
  1&gt;glfw3.lib(win32_monitor.obj) : error LNK2001: unresolved external symbol __imp_realloc
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_fseek
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_fopen_s
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_strtol
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_ldexp
  1&gt;stb.obj : error LNK2001: unresolved external symbol __imp_feof
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_strcspn
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_strncpy
  1&gt;glfw3.lib(window.obj) : error LNK2001: unresolved external symbol __imp_strncpy
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol __imp_strncpy
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_strspn
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol __imp_strtoul
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol memcpy
  1&gt;glfw3.lib(win32_monitor.obj) : error LNK2001: unresolved external symbol memcpy
  1&gt;glfw3.lib(win32_monitor.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(win32_init.obj) : error LNK2001: unresolved external symbol memset
  1&gt;MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(input.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(window.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(init.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol memset
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol __imp_qsort
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol __imp_qsort
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol memmove
  1&gt;glfw3.lib(monitor.obj) : error LNK2001: unresolved external symbol powf
  1&gt;glfw3.lib(init.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsprintf
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vsprintf
  1&gt;glfw3.lib(win32_joystick.obj) : error LNK2001: unresolved external symbol strcmp
  1&gt;glfw3.lib(vulkan.obj) : error LNK2001: unresolved external symbol strcmp
  1&gt;msvcprt.lib(filesystem.obj) : error LNK2001: unresolved external symbol __imp____lc_codepage_func
  1&gt;MSVCRT.lib(new_scalar.obj) : error LNK2001: unresolved external symbol _callnewh
  1&gt;MSVCRT.lib(new_scalar.obj) : error LNK2001: unresolved external symbol malloc
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_initialize
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize_critical
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_attach
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_detach
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _seh_filter_dll
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _is_c_termination_complete
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _configure_narrow_argv
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_narrow_environment
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_onexit_table
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _register_onexit_function
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _execute_onexit_table
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_atexit
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_at_quick_exit
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_initialize
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize_critical
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_attach
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_detach
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _cexit
  1&gt;MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __C_specific_handler
  1&gt;MSVCRT.lib(ehvecdtr.obj) : error LNK2001: unresolved external symbol __C_specific_handler
  1&gt;MSVCRT.lib(ehvecctr.obj) : error LNK2001: unresolved external symbol __C_specific_handler
  1&gt;MSVCRT.lib(ehvecdtr.obj) : error LNK2001: unresolved external symbol terminate
  1&gt;MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol terminate
  1&gt;MSVCRT.lib(ehvecdtr.obj) : error LNK2001: unresolved external symbol __current_exception
  1&gt;MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception
  1&gt;MSVCRT.lib(ehvecdtr.obj) : error LNK2001: unresolved external symbol __current_exception_context
  1&gt;MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception_context
  1&gt;MSVCRT.lib(throw_bad_alloc.obj) : error LNK2001: unresolved external symbol _CxxThrowException
  1&gt;MSVCRT.lib(delete_scalar.obj) : error LNK2001: unresolved external symbol free
  </code></pre>