I have this MakeFile which works perfectly with SDL and it compiles:
all:
g++ -Iinclude -Iinclude/SDL -Iinclude/Headers -Llib -o Main src/*.cpp -lmingw32 -lSDL2main -lSDL2 -lSDL2_image
And this is my CMake File:
cmake_minimum_required(VERSION 3.27.4)
project(TicTacToe2D)
# Add the source files to the project
add_executable(${PROJECT_NAME}
src/main.cpp
)
# Specify the include directories explicitly
target_include_directories(${PROJECT_NAME} PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/include/SDL"
"${CMAKE_CURRENT_SOURCE_DIR}/include/Headers"
)
# Specify the library directories explicitly
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/lib/") # Adjust the path accordingly
# Link libraries manually
target_link_libraries(${PROJECT_NAME} PRIVATE
mingw32
SDL2main
SDL2
SDL2_image
)
CMake gives me the error: “C:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/13.1.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/13.1.0/…/…/…/…/x86_64-w64-mingw32/lib/…/lib/libSDL2.a when searching for -lSDL2”
And I don’t know why that is happening. Keep in mind I am a beginner at CMake and I wanted to implement it into my SDL project but it doens’t seem to work out.
Some Info: Windows 10 | Visual Studio Code | SDL is installed in a custom directory in D: | I am noob