litespeedtech / litespeedtech/lsquic
Building application including lsquic fails on x64-windows
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 397
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 8
Description
I got `vs_compat.h`-related error messages when building an application including lsquic, but only once I add the library initialization to my code. The messages can be found in my description below.
I use vcpkg for the installation of lsquic, but to me the issue does not seem to be related to that, so I post it here.
**Host Environment**
- lsquic version: 3.1.1#1
- OS: Windows 10
- Host: x64-windows
- Compiler: MSVC 19.33.31630.0
- cmake version: 3.23.22060601-MSVC_2
- vcpkg-tool version: 2022-10-17-3247920fbdd47d08f36cbd480addd9890d3c2435
**To Reproduce**
Create a blank C++ project with Visual Studio 2022 (VS) and [setup vcpkg](https://vcpkg.io/en/getting-started.html) for that project. I am using vcpkg with CMake (not MSBuild, so ignore the MSBuild / Visual Studio section). To facilitate the vcpkg-CMake build process when using VS, create a `CMakeSettings.json` in your projects root and link the vcpkg toolchain file via that, e.g., by inserting the following:
CMakeSettings.json
```json
{
"configurations": [
{
"name": "x64-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"cmakeToolchain": "${projectDir}\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake"
},
{
"name": "x64-Release",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"cmakeToolchain": "${projectDir}\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake"
}
]
}
```
I tried multiple ways of including lsquic via vcpkg. The first try was to include it via the [Manifest Mode](https://vcpkg.io/en/docs/examples/manifest-mode-cmake.html), using the following manifest file:
vcpkg.json
```json
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "my-lsquic-project",
"version": "0.1.0",
"builtin-baseline": "bdf073a835ebea07e1d039cd9cff4f650014e4ce",
"dependencies": [
{
"name": "liblsquic",
"version>=": "3.1.1",
"platform": "x64 & windows"
}
]
}
```
In the `CMakeLists.txt` I added a `find_package(lsquic CONFIG REQUIRED)` and linked it with my target using `target_link_libraries(main lsquic::lsquic)`. (You should also mind [this issue](https://github.com/microsoft/vcpkg/issues/27714) when installing lsquic via vcpkg)
I also tried linking it statically by "manually" installing it via `vcpkg.exe install liblsquic:x64-windows-static`. For that, the `vcpkg.json` must be removed and a `set(lsquic_DIR "${PROJECT_SOURCE_DIR}/vcpkg/packages/liblsquic_x64-windows-static/share/lsquic")` must be placed in the `CMakeLists.txt` instead of the `find_package(lsquic CONFIG REQUIRED)`.
In either way, if you simply `#include ` in a source file, the project will build without errors. But if you init the library, the build will fail.
```C++
#include // this alone is okay
#include
int main()
{
// including this will fail
if(0 != lsquic_global_init(LSQUIC_GLOBAL_CLIENT | LSQUIC_GLOBAL_SERVER))
{
std::cout << "Failed" << std::endl;
}
std::cout << "Success" << std::endl;
}
```
On fail it prints the following message:
First error message
```
>------ Alle erstellen gestartet: Projekt: SDCLibrary, Konfiguration: x64-Release ------
[1/2] Building CXX object tests\QUIC\CMakeFiles\test_QUIC.dir\test_QUIC.cpp.obj
FAILED: tests/QUIC/CMakeFiles/test_QUIC.dir/test_QUIC.cpp.obj
C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\cl.exe /nologo /TP -external:IC:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic -external:IC:\Workspace\SDCLibrary\external\googletest\googletest\include -external:IC:\Workspace\SDCLibrary\external\googletest\googletest -external:W0 /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MD /O2 /Ob2 /DNDEBUG /showIncludes /Fotests\QUIC\CMakeFiles\test_QUIC.dir\test_QUIC.cpp.obj /Fdtests\QUIC\CMakeFiles\test_QUIC.dir\ /FS -c C:\Workspace\SDCLibrary\tests\QUIC\test_QUIC.cpp
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(240): error C2011: "sockaddr": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(482): note: Siehe Deklaration von "sockaddr"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(442): error C2143: Syntaxfehler: Es fehlt "}" vor "Konstante"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(442): error C2059: Syntaxfehler: "Konstante"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(496): error C2143: Syntaxfehler: Es fehlt ";" vor "}"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\ws2def.h(638): error C2011: "sockaddr_in": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(309): note: Siehe Deklaration von "sockaddr_in"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(136): error C2011: "fd_set": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(65): note: Siehe Deklaration von "fd_set"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(180): error C2011: "timeval": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(108): note: Siehe Deklaration von "timeval"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(236): error C2011: "hostent": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(164): note: Siehe Deklaration von "hostent"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(249): error C2011: "netent": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(177): note: Siehe Deklaration von "netent"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(256): error C2011: "servent": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(184): note: Siehe Deklaration von "servent"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(268): error C2011: "protoent": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(196): note: Siehe Deklaration von "protoent"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(364): error C2011: "WSAData": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(319): note: Siehe Deklaration von "WSAData"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(462): error C2011: "sockproto": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(491): note: Siehe Deklaration von "sockproto"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(504): error C2011: "linger": "struct" Typneudefinition
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(528): note: Siehe Deklaration von "linger"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1625): error C2375: "accept": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(739): note: Siehe Deklaration von "accept"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1647): error C2375: "bind": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(744): note: Siehe Deklaration von "bind"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1668): error C2375: "closesocket": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(749): note: Siehe Deklaration von "closesocket"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1685): error C2375: "connect": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(751): note: Siehe Deklaration von "connect"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1706): error C2375: "ioctlsocket": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(756): note: Siehe Deklaration von "ioctlsocket"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1729): error C2375: "getpeername": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(761): note: Siehe Deklaration von "getpeername"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1750): error C2375: "getsockname": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(766): note: Siehe Deklaration von "getsockname"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1771): error C2375: "getsockopt": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(771): note: Siehe Deklaration von "getsockopt"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1796): error C2375: "htonl": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(778): note: Siehe Deklaration von "htonl"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1813): error C2375: "htons": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(780): note: Siehe Deklaration von "htons"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1831): error C2375: "inet_addr": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(782): note: Siehe Deklaration von "inet_addr"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1849): error C2375: "inet_ntoa": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(784): note: Siehe Deklaration von "inet_ntoa"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1949): error C2375: "listen": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(786): note: Siehe Deklaration von "listen"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1968): error C2375: "ntohl": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(790): note: Siehe Deklaration von "ntohl"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(1985): error C2375: "ntohs": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(792): note: Siehe Deklaration von "ntohs"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2002): error C2375: "recv": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(794): note: Siehe Deklaration von "recv"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2025): error C2375: "recvfrom": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(800): note: Siehe Deklaration von "recvfrom"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2052): error C2375: "select": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(808): note: Siehe Deklaration von "select"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2077): error C2375: "send": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(815): note: Siehe Deklaration von "send"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2100): error C2375: "sendto": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(821): note: Siehe Deklaration von "sendto"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2127): error C2375: "setsockopt": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(829): note: Siehe Deklaration von "setsockopt"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2152): error C2375: "shutdown": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(836): note: Siehe Deklaration von "shutdown"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2172): error C2375: "socket": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(840): note: Siehe Deklaration von "socket"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2197): error C2375: "gethostbyaddr": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(847): note: Siehe Deklaration von "gethostbyaddr"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2219): error C2375: "gethostbyname": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(852): note: Siehe Deklaration von "gethostbyname"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2236): error C2375: "gethostname": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(854): note: Siehe Deklaration von "gethostname"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2276): error C2375: "getservbyport": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(858): note: Siehe Deklaration von "getservbyport"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2295): error C2375: "getservbyname": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(862): note: Siehe Deklaration von "getservbyname"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2314): error C2375: "getprotobynumber": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(866): note: Siehe Deklaration von "getprotobynumber"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2331): error C2375: "getprotobyname": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(868): note: Siehe Deklaration von "getprotobyname"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2351): error C2375: "WSAStartup": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(872): note: Siehe Deklaration von "WSAStartup"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2371): error C2375: "WSACleanup": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(876): note: Siehe Deklaration von "WSACleanup"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2388): error C2375: "WSASetLastError": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(878): note: Siehe Deklaration von "WSASetLastError"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2405): error C2375: "WSAGetLastError": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(880): note: Siehe Deklaration von "WSAGetLastError"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2426): error C2375: "WSAIsBlocking": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(882): note: Siehe Deklaration von "WSAIsBlocking"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2444): error C2375: "WSAUnhookBlockingHook": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(884): note: Siehe Deklaration von "WSAUnhookBlockingHook"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2462): error C2375: "WSASetBlockingHook": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(886): note: Siehe Deklaration von "WSASetBlockingHook"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2480): error C2375: "WSACancelBlockingCall": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(888): note: Siehe Deklaration von "WSACancelBlockingCall"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2498): error C2375: "WSAAsyncGetServByName": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(890): note: Siehe Deklaration von "WSAAsyncGetServByName"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2526): error C2375: "WSAAsyncGetServByPort": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(898): note: Siehe Deklaration von "WSAAsyncGetServByPort"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2554): error C2375: "WSAAsyncGetProtoByName": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(906): note: Siehe Deklaration von "WSAAsyncGetProtoByName"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2580): error C2375: "WSAAsyncGetProtoByNumber": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(913): note: Siehe Deklaration von "WSAAsyncGetProtoByNumber"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2606): error C2375: "WSAAsyncGetHostByName": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(920): note: Siehe Deklaration von "WSAAsyncGetHostByName"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2632): error C2375: "WSAAsyncGetHostByAddr": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(927): note: Siehe Deklaration von "WSAAsyncGetHostByAddr"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2662): error C2375: "WSACancelAsyncRequest": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(936): note: Siehe Deklaration von "WSACancelAsyncRequest"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(2680): error C2375: "WSAAsyncSelect": Neudefinition; unterschiedliche Bindung
C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um\winsock.h(938): note: Siehe Deklaration von "WSAAsyncSelect"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(4206): error C2059: Syntaxfehler: "}"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winsock2.h(4206): error C2143: Syntaxfehler: Es fehlt ";" vor "}"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(174): error C2059: Syntaxfehler: "*"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(174): error C2091: Funktionsergebnis ist eine Funktion
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1501): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_read"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1506): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1507): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_readv"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1515): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1516): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_readf"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1547): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1548): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_write"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1553): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1554): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_writev"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1559): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1560): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_pwritev"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1590): error C2086: "int ssize_t": Neudefinition
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1500): note: Siehe Deklaration von "ssize_t"
C:\Workspace\SDCLibrary\vcpkg\packages\liblsquic_x64-windows-static\include\lsquic\lsquic.h(1591): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "lsquic_stream_writef"
ninja: build stopped: subcommand failed.
Alle erstellen fehlgeschlagen.
```
It says there are many type redefinitions. Apparently it has something to do with the `vc_compat.h` file. I investigated this and found out that [the order of including `Windows.h` and `winsock2.h` matters](https://stackoverflow.com/questions/5971332/redefinition-errors-in-winsock2-h). I tried whether it would help switching the order and indeed, the original error message disappeared but was replaced by a second one:
Second error message
```
>------ Alle erstellen gestartet: Projekt: SDCLibrary, Konfiguration: x64-Release ------
[1/2] Building CXX object tests\QUIC\CMakeFiles\test_QUIC.dir\test_QUIC.cpp.obj
[2/2] Linking CXX executable tests\QUIC\test_QUIC.exe
FAILED: tests/QUIC/test_QUIC.exe
cmd.exe /C "cd . && "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tests\QUIC\CMakeFiles\test_QUIC.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests -- C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\link.exe /nologo tests\QUIC\CMakeFiles\test_QUIC.dir\test_QUIC.cpp.obj /out:tests\QUIC\test_QUIC.exe /implib:tests\QUIC\test_QUIC.lib /pdb:tests\QUIC\test_QUIC.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console ..\..\..\vcpkg\packages\liblsquic_x64-windows-static\lib\lsquic.lib lib\gtest_main.lib lib\gtest.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cmd.exe /C "cd /D C:\Workspace\SDCLibrary\out\build\x64-Release\tests\QUIC && C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -executionpolicy Bypass -file C:/Workspace/SDCLibrary/vcpkg/scripts/buildsystems/msbuild/applocal.ps1 -targetBinary C:/Workspace/SDCLibrary/out/build/x64-Release/tests/QUIC/test_QUIC.exe -installedDir C:/Workspace/SDCLibrary/vcpkg/installed/x64-windows/bin -OutVariable out""
LINK: command "C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\link.exe /nologo tests\QUIC\CMakeFiles\test_QUIC.dir\test_QUIC.cpp.obj /out:tests\QUIC\test_QUIC.exe /implib:tests\QUIC\test_QUIC.lib /pdb:tests\QUIC\test_QUIC.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console ..\..\..\vcpkg\packages\liblsquic_x64-windows-static\lib\lsquic.lib lib\gtest_main.lib lib\gtest.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:tests\QUIC\test_QUIC.exe.manifest" failed (exit code 1120) with the following output:
C:\Workspace\SDCLibrary\out\build\x64-Release\LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_util.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_ntohs" in Funktion "lsquic_sockaddr2str".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp_ntohs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_frame_reader.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp_ntohs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_util.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "inet_ntop" in Funktion "lsquic_sockaddr2str".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "inet_ntop".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_trans_params.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "inet_ntop".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "ERR_get_error" in Funktion "gquic2_esf_encrypt_packet".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "ERR_get_error".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "ERR_error_string" in Funktion "gquic2_esf_encrypt_packet".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "ERR_error_string".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_new_null" in Funktion "lsquic_enc_session_get_server_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_num" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "sk_num".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_ev_log.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "sk_num".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_value" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "sk_value".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_ev_log.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "sk_value".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_free" in Funktion "lsquic_enc_session_get_server_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_push" in Funktion "lsquic_enc_session_get_server_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_aes_128_ecb" in Funktion "gquic2_gen_hp_mask".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_aes_128_ecb".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_CIPHER_CTX_init" in Funktion "gquic2_gen_hp_mask".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_CIPHER_CTX_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_CIPHER_CTX_cleanup" in Funktion "gquic2_gen_hp_mask".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_CIPHER_CTX_cleanup".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_EncryptInit_ex" in Funktion "gquic2_gen_hp_mask".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_EncryptInit_ex".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_EncryptUpdate" in Funktion "gquic2_gen_hp_mask".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_EncryptUpdate".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_sha256" in Funktion "gquic2_init_crypto_ctx".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_sha256".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_sha256".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_tokgen.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_sha256".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_aead_aes_128_gcm" in Funktion "determine_diversification_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_aead_aes_128_gcm".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_engine.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_aead_aes_128_gcm".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_init" in Funktion "determine_diversification_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_engine.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_cleanup" in Funktion "lsquic_enc_session_destroy".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_cleanup".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_engine.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_cleanup".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_seal" in Funktion "gquic2_esf_encrypt_packet".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_seal".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_seal".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_open" in Funktion "gquic2_esf_decrypt_packet".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_open".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_open".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_full_conn_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_open".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_PKEY_free" in Funktion "handle_chlo_reply_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_PKEY_size" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "BN_free" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "BN_num_bytes" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "BN_bn2bin" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "ASN1_INTEGER_to_BN" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_NAME_get0_der" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_free" in Funktion "handle_chlo_reply_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "X509_free".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "i2d_X509" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "i2d_X509".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_get_serialNumber" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_get_issuer_name" in Funktion "gen_iasn_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_get_pubkey" in Funktion "handle_chlo_reply_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "OPENSSL_free" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "OPENSSL_free".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_qlog.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "OPENSSL_free".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get0_certificate" in Funktion "get_sni_SSL_CTX".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get0_privatekey" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get0_chain_certs" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_ex_data" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get_ex_data" in Funktion "gen_rej1_data".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get_ex_new_index" in Funktion "lsquic_handshake_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_full_conn_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_pr_queue.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crand.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_tokgen.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_conn.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "RAND_bytes".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_handshake.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "HKDF_extract" in Funktion "gquic2_setup_handshake_keys".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "HKDF_extract".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_tokgen.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "HKDF_extract".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "CRYPTO_chacha_20" in Funktion "gen_hp_mask_chacha20".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "sk_deep_copy" in Funktion "iquic_esf_get_server_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_aes_256_ecb" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_sha384" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_aead_aes_256_gcm" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_aead_chacha20_poly1305" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_key_length" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_nonce_length" in Funktion "get_crypto_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_AEAD_CTX_init_with_direction" in Funktion "init_crypto_ctx".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_up_ref" in Funktion "copy_X509".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "TLS_method" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_new" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_free" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_new" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_free" in Funktion "iquic_esfi_destroy".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_connect_state" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_accept_state" in Funktion "iquic_esfi_init_server".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_do_handshake" in Funktion "iquic_esfi_data_in".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_error" in Funktion "iquic_esfi_handshake".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_min_proto_version" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_max_proto_version" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get_options" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_options" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_clear_options" in Funktion "iquic_esfi_init_server".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_options" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_cert_cb" in Funktion "iquic_esfi_init_server".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CIPHER_get_id" in Funktion "iquic_esf_keysize".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CIPHER_get_name" in Funktion "iquic_esf_cipher".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CIPHER_get_bits" in Funktion "cache_info".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_in_init" in Funktion "iquic_esfi_in_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_peer_cert_chain" in Funktion "iquic_esf_get_server_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_current_cipher" in Funktion "iquic_esf_cipher".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_SESSION_free" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_SESSION_to_bytes" in Funktion "iquic_ssl_sess_to_resume_info".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_SESSION_from_bytes" in Funktion "maybe_create_SSL_SESSION".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_session_cache_mode" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_session" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_sess_set_new_cb" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_sess_get_new_cb" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_verify" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_custom_verify" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get_verify_mode" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_verify_depth" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_get_verify_depth" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_default_verify_paths" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_tlsext_host_name" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_servername" in Funktion "iquic_esf_get_sni".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_SSL_CTX" in Funktion "iquic_lookup_cert".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_alpn_protos" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get0_alpn_selected" in Funktion "set_secret".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_provide_quic_data" in Funktion "iquic_esfi_data_in".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_process_quic_post_handshake" in Funktion "iquic_esfi_shake_stream".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_quic_method" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_quic_transport_params" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_peer_quic_transport_params" in Funktion "get_peer_transport_params".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_quic_use_legacy_codepoint" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_quic_early_data_context" in Funktion "iquic_esfi_init_server".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_CTX_set_early_data_enabled" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_in_early_data" in Funktion "iquic_esfi_handshake".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_SESSION_early_data_capable" in Funktion "maybe_create_SSL_SESSION".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_reset_early_data_reject" in Funktion "iquic_esfi_handshake".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_send_fatal_alert" in Funktion "set_secret".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_set_ex_data" in Funktion "iquic_esfi_create_client".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_ex_data" in Funktion "cry_sm_write_message".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_enc_sess_ietf.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SSL_get_ex_new_index" in Funktion "iquic_esf_global_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "BIO_free" in Funktion "lsquic_bio_to_crt".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "BIO_new_mem_buf" in Funktion "lsquic_bio_to_crt".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_MD_CTX_init" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_MD_CTX_cleanup" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestSignInit" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestSignUpdate" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestSignFinal" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestVerifyInit" in Funktion "lsquic_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestVerifyUpdate" in Funktion "lsquic_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_DigestVerifyFinal" in Funktion "lsquic_verify_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_PKEY_CTX_set_rsa_padding" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "EVP_PKEY_CTX_set_rsa_pss_saltlen" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SHA256_Init" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SHA256_Update" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "SHA256_Final" in Funktion "lsquic_gen_prof".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "d2i_X509_bio" in Funktion "lsquic_bio_to_crt".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "CRYPTO_library_init" in Funktion "lsquic_crypto_init".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "PEM_read_bio_X509" in Funktion "lsquic_bio_to_crt".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "HMAC" in Funktion "lshkdf_extract".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X25519" in Funktion "lsquic_c255_gen_share_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X25519_public_from_private" in Funktion "lsquic_c255_get_pub_key".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crypto.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "HKDF_expand" in Funktion "lshkdf_expand".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_tokgen.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "HKDF_expand".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_hkdf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "HKDF_expand".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "deflate" in Funktion "lsquic_compress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "deflateEnd" in Funktion "lsquic_compress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "inflate" in Funktion "lsquic_decompress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "inflateEnd" in Funktion "lsquic_decompress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "deflateSetDictionary" in Funktion "lsquic_compress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "deflateBound" in Funktion "lsquic_compress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "inflateSetDictionary" in Funktion "lsquic_decompress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "deflateInit_" in Funktion "lsquic_compress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_crt_compress.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "inflateInit_" in Funktion "lsquic_decompress_certs".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_ev_log.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_htonl" in Funktion "lsquic_ev_log_generated_http_headers".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_frame_writer.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp_htonl".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_ev_log.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_NAME_oneline" in Funktion "lsquic_ev_log_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_ev_log.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "X509_get_subject_name" in Funktion "lsquic_ev_log_cert_chain".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_frame_reader.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_ntohl" in Funktion "decode_and_pass_payload".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_frame_writer.c.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_htons" in Funktion "lsquic_frame_writer_write_settings".
C:\Workspace\SDCLibrary\out\build\x64-Release\lsquic.lib(lsquic_full_conn_ietf.c.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp_htons".
C:\Workspace\SDCLibrary\out\build\x64-Release\tests\QUIC\test_QUIC.exe : fatal error LNK1120: 142 nicht aufgelöste Externe
ninja: build stopped: subcommand failed.
Alle erstellen fehlgeschlagen.
```
So it says, there are many unresolved external symbols. At this point I'm clueless what I can do about this. I'd be glad if this would be fixed soon!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the minimal Visual Studio 2022/CMake reproduction using CMakeLists.txt and the shown vcpkg.json, then inspect the include interaction among lsquic.h, vs_compat.h, ws2def.h, winsock.h, and winsock2.h. Verify the result by building the sample that calls lsquic_global_init on x64-windows; done means that initialization builds without the reported redefinition errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cmake, cpp
- Domain
- build-system, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100