I've been working on a school project in c++ using SFML on macOS, since it's my main OS. I ran into an issue with threads (a requirement of the project :/) and decided to switch to windows, since the bug is only OSX related and I still need to be able to run the application on a windows machine. After downloading Visual C++ 17 (2022) - 64-bit from the sfml site, I copied the entire SFML directory to my project, so I don't need to change any configuration after downloading the code to another machine.
My CMakeLists.txt
cmake_minimum_required(VERSION 3.27)
project(sem)
set(CMAKE_CXX_STANDARD 17)
set(SOURCE_FILES main.cpp
game/Game.cpp
game/Game.h
game/Paddle.cpp
game/Paddle.h
game/Ball.cpp
game/Ball.h
networking/NetworkManager.cpp
networking/NetworkManager.h
ui/Menu.cpp
ui/Menu.h
game/Entity.h
enums/Direction.h
game/Entity.cpp
ui/Button.h
enums/MenuState.h
game/Multiplayer.cpp
game/Multiplayer.h
game/Singleplayer.cpp
game/Singleplayer.h
ui/ModeSelect.cpp
ui/ModeSelect.h
enums/MultiPlayerGameMode.h
ui/IpDialog.cpp
ui/IpDialog.h
enums/YesNo.h
)
add_executable(sem ${SOURCE_FILES})
set(SFML_STATIC_LIBRARIES TRUE)
set(SFML_DIR ./SFML/lib/cmake/SFML)
find_package(SFML COMPONENTS system window graphics network audio REQUIRED)
include_directories(./SFML/include)
target_link_libraries(sem sfml-system sfml-window sfml-graphics sfml-audio sfml-network)
My current project structure looks like this
sem/
|-- CMakeLists.txt
|-- main.cpp
|-- SFML/
| |-- bin/
| |-- doc/
| |-- examples/
| |-- include/
| |-- lib/
| |-- .....
|-- Other directories and classes etc.
After i edited my CMakeLists.txt as it was in tutorial i got this error
FAILED: sem.exe
cmd.exe /C "cd . && "C:\PROGRA~1\JetBrains\CLion 2023.3.2\bin\mingw\bin\g++.exe" -g CMakeFiles/sem.dir/main.cpp.obj CMakeFiles/sem.dir/game/Game.cpp.obj CMakeFiles/sem.dir/game/Paddle.cpp.obj CMakeFiles/sem.dir/game/Ball.cpp.obj CMakeFiles/sem.dir/networking/NetworkManager.cpp.obj CMakeFiles/sem.dir/ui/Menu.cpp.obj CMakeFiles/sem.dir/game/Entity.cpp.obj CMakeFiles/sem.dir/game/Multiplayer.cpp.obj CMakeFiles/sem.dir/game/Singleplayer.cpp.obj CMakeFiles/sem.dir/ui/ModeSelect.cpp.obj CMakeFiles/sem.dir/ui/IpDialog.cpp.obj -o sem.exe -Wl,--out-implib,libsem.dll.a -Wl,--major-image-version,0,--minor-image-version,0 C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-system-s-d.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-window-s-d.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-graphics-s-d.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-audio-s-d.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-network-s-d.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-window-s-d.lib -lOpenGL32 -lgdi32 -llegacy_stdio_definitions C:/Users/Ultra/CLionProjects/sem/SFML/lib/freetype.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/openal32.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/vorbisfile.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/vorbisenc.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/vorbis.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/ogg.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/flac.lib C:/Users/Ultra/CLionProjects/sem/SFML/lib/sfml-system-s-d.lib -lwinmm -lws2_32 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:\Program Files\JetBrains\CLion 2023.3.2\bin\mingw\bin/ld.exe: cannot find -llegacy_stdio_definitions: No such file or directory
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I'm currently stuck on this bug and can't get it to work, I've tried changing various options in CMakeLists.txt but nothing works. Any help would be appreciated.