I have cmake 3.17.1 , g++ 9.2.0. Trying to build my project :
cmake_minimum_required(VERSION 3.17.1)
project("Client")
SET( CMAKE_MAKE_PROGRAM C:/Strawberry/c/bin/mingw32-make.exe FORCE )
set(CMAKE_CXX_FLAGS "-std=c++17 -lwsock32 -lws2_32" )
add_executable(Client
main.cpp
client.cpp
client.h
logmsg.cpp
includes.h
)
it compiles but linking fails with errors:
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x144): undefined reference to `__imp_WSAStartup'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x270): undefined reference to `__imp_inet_addr'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x28b): undefined reference to `__imp_htons'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x504): undefined reference to `__imp_socket'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x540): undefined reference to `__imp_connect'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x57d): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x7ac): undefined reference to `__imp_recv'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x895): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xbdd): undefined reference to `__imp_send'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xc02): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xcc6): undefined reference to `__imp_send'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xce4): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xe2e): undefined reference to `__imp_send'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xe4c): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xfb2): undefined reference to `__imp_send'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0xfd0): undefined reference to `__imp_WSAGetLastError'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x113c): undefined reference to `__imp_shutdown'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x1153): undefined reference to `__imp_closesocket'
CMakeFiles\Client.dir/objects.a(client.cpp.obj):client.cpp:(.text+0x115c): undefined reference to `__imp_WSACleanup'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [CMakeFiles\Client.dir\build.make:135: Client.exe] Error 1
make[1]: *** [CMakeFiles\Makefile2:95: CMakeFiles/Client.dir/all] Error 2
make: *** [makefile:103: all] Error 2
Placed screenshoot also here: https://i.stack.imgur.com/9RDwc.jpg .
I cannot understand why
-lwsock32 -lws2_32
flags do not solve it. What am i doing wrong?