0

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?

0 Answers0