Используйте main вместо wmain с VS и Cmake
У меня есть следующий сценарий CMakeLists.txt:
# CMake entry point
cmake_minimum_required (VERSION 3.0)
#project name
project (PoorEngine)
#find OpenGL and include it, fail if OpenGl can't be found
find_package(OpenGL REQUIRED)
#create a variable and populate it with source files
set(
SOURCES
${PROJECT_SOURCE_DIR}/Source/main.cpp
)
#create a variable and populate it with headers directories
set(
HEADERS_DIR
${PROJECT_SOURCE_DIR}/ThirdParties/SDL/include
)
#explicit dependency libs
set(
LIBRARIES_DIR
${PROJECT_SOURCE_DIR}/ThirdParties/SDL/Win32/
)
# Add an executable with the above sources
add_executable(${PROJECT_NAME} ${SOURCES})
#include headers directories in the target
target_include_directories(${PROJECT_NAME} PRIVATE ${HEADERS_DIR})
#add explicit dependency to SDL2
find_library(SDL_LIB NAMES SDL2 PATHS ${LIBRARIES_DIR})
target_link_libraries(${PROJECT_NAME} PRIVATE ${SDL_LIB})
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND
${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
${PROJECT_SOURCE_DIR}/ThirdParties/SDL/x64/SDL2.dll # <--this is in-file
$<TARGET_FILE_DIR:${PROJECT_NAME}>
)
И мой main.cpp выглядит так:
#include <SDL.h>
int main()
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Delay(1000);
SDL_Quit();
return 0;
}
Это вызовет ошибку ссылки:
Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) Severity Code Description Project File Line Error LNK1120 1 unresolved externals
Если бы я использовал wmain() вместо main(), все было бы хорошо, но я бы хотел придерживаться main(). Я чувствую, что мне не хватает некоторых настроек, пожалуйста, помогите мне.