сокет работает только в отладке - PullRequest
0 голосов
/ 15 мая 2019

Сборка исполняемого файла Windows в режиме выпуска и отладки.Персональные статические библиотеки создаются с выпуском и отладкой конфигураций.статическая библиотека ws2_32 для сокетного соединения одинакова для обоих исполняемых файлов.

-> сокетное соединение работает в режиме отладки

-> сокетное соединение не работает в режиме выпуска

отладочная сборкаи запуск имеет дополнительную строку:

'gsm110x.exe' (Win32): Loaded 'C:\Windows\SysWOW64\mswsock.dll'.

эта строка отсутствует в сборке и запуске релиза.

код cmake

set(CMAKE_CXX_FLAGS_DEBUG "/MDd /MP /EHsc /Ob0 /Od /Zi /RTC1")
set(CMAKE_CXX_FLAGS_RELEASE "/MD /MP /EHsc /Ob0 /Od /DNDEBUG")

отладка:

  target_link_libraries(
    main
    PRIVATE
      ws2_32
      "${PROJECT_SOURCE_DIR}/winLibs/debug/ftdi.lib"

выпуск:

  target_link_libraries(
    main
    PRIVATE
      ws2_32
      "${PROJECT_SOURCE_DIR}/winLibs/release/ftdi.lib"

Почему mswsock.dll включен только в exe отладки?

...