machinezone / IXWebSocket

websocket and http client and server library, with TLS support and very few dependencies
BSD 3-Clause "New" or "Revised" License
539 stars 173 forks source link

How to build project that includes IXWebSocket without using vcpkg #473

Open cptalpdeniz opened 1 year ago

cptalpdeniz commented 1 year ago

Hello,

We are using IXWebSocket for our client application. We have IXWebSocket included in our C++ projects locally, not using vcpkg. We had issues in the past and trying to remove our dependency on vcpkg. When I disable vcpkg, build fails with multiple LNK2019 and LNK2001 errors (unresolved external symbol). My guess is that the reason why this is failing is because vcpkg has auto-linker feature.

Now, IXWebSocket needs to be build to be linked (as far as I understand)? but then why is it failing if I'm including the IXWebSocket in my "Additional Include Directory" and also #include necessary headers? Do I need to integrate CMake and build IXWebSocket each time I build the project?

I'm using VS 2022 Community, C++20.

bsergean commented 1 year ago

What I would do is make your project fully a cmake project, then you can include_directory for ixwebsocket.

You can also copy all the source files directly, or a source folder, in your repo.

Longwater1234 commented 3 months ago

@cptalpdeniz In case you never solved this issue, you can use CPM (a thin wrapper around Cmake FetchContent). No installation required. Here is a sample template Github project. TIP; instead of cloning with GIT_REPOSTORY, you can replace it with URL of github release (.tar.gz). I also use VS2022 Community. But This works on other platform without hassle of installation .