Chào mọi người. Hiện tại em đang học cách sử dụng libwebsocket của warmcat (Link Github: https://github.com/warmcat/libwebsockets). Em muốn học qua các minimal examples có trong thư viện nhưng không biết cách nào để chạy chương trình qua visual studio. Cụ thể em muốn chạy các file trong folder này https://github.com/warmcat/libwebsockets/tree/master/minimal-examples/ws-client. Vì em là một newbie trong C++ (đã biết C++ cơ bản) nên mọi người có thể hướng dẫn em về cách chạy file này cụ thể chút để em có thể hiểu được không ạ? Cảm ơn mọi người
Cách dùng thư viện libwebsocket của warmcat
em clone vcpkg về C:\vcpkg:
cd C:
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
rồi chạy
bootstrap-vcpkg.bat
để build vcpkg.exe. Sau đó em install thư viện libwebsockets:
vcpkg install libwebsockets
hoặc rõ hơn nếu em muốn install thư viện 64-bit hoặc 32-bit:
vcpkg install libwebsockets:x64-windows
vcpkg install libwebsockets:x86-windows
chọn 1 trong 2 thôi nha em :V Theo anh thì cứ x64-windows hết đừng xài thư viện 32-bit nữa :V
sau đó em clone ws-server-echo về, xài cmake để tạo và build project:
cd ws-server-echo
mkdir build && cd build
cmake .. -G"Visual Studio 16 2019" -A x64 "-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake"
cmake --build . --config Release
nếu VS của em ko phải là 2019 thì gọi
cmake .. -G"Visual Studio 15 2017 Win64" "-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake"
hoặc
cmake .. -G"Visual Studio 14 2015 Win64" "-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake"
làm tương tự với ws-client-echo :V rồi vọc thử server client echo :V
Em làm tới bước này thì nó hiển thị lỗi WinHttpQueryDataAvailable() failed: 12002 thì mình giải quyết sao ạ? Em đã search google thì thấy khá nhiều người gặp vấn đề tương tự nhưng vẫn chưa có hướng giải quyết
em download bằng tay ba cái package của nó thử rồi bỏ vào đúng thư mục của nó xem :V
em thử tắt anti-virus, restart máy chưa :V Hay máy có sử dụng proxy gì ko thì tắt đi :V anh google thấy họ bảo vậy :V Bí quá thì xem chương trình nào ko down được em tự down về rồi bỏ vào đúng thư mục xem nó có cho qua ko :V
ví dụ
Downloading nuget...
https://dist.nuget.org/win-x86-commandline/v4.6.2/nuget.exe -> C:\Users\felip\vcpkg\downloads\nuget.exe
WinHttpQueryDataAvailable() failed: 12002
thì em down https://dist.nuget.org/win-x86-commandline/v4.6.2/nuget.exe về (copy đường link vô web browser nó down về cho) rồi bỏ vào đúng cái thư mục tương ứng của em xem có qua ko :V
Cảm ơn anh, em đã làm được đoạn đó rồi. Anh cho em hỏi về cái đoạn clone ws-server-echo về nghĩa là sao ạ? Em tưởng mình đã thực hiện bước install libwebsocket từ github về ở đoạn trước rồi? (Em đã thấy được file Zip của cái thư viện libwebsockets ở trong folder download của vcpkg rồi). Hay là mình phải gõ lệnh git clone https://github.com/warmcat/libwebsockets.git nữa vậy anh?
Hiện tại em làm tới bước này thì nó hiển thị lỗi CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake:99 (message):
Could not find toolchain file: C:\vcpkg\scripts\buildsystems\vcpkg.cmake. Em đã tra lỗi trên mạng nhưng sau khi đọc vẫn confused không biết giải quyết thế nào. Anh giúp em với ạ
em install vcpkg ở đâu :V Phải là ở C:\vcpkg ko? Em thử vào C:\vcpkg\scripts\buildsystems xem có file vcpkg.cmake ở đó ko?
nghĩa là em down cái thư mục examples của nó về rồi compile thử mấy cái examples của nó :V Ở đây anh lấy ví dụ thư mục ws-server-echo
có thể em còn thiếu VCPKG_TARGET_TRIPLET :V phải thêm nó vào PATH nữa, trên windows dài dòng lắm :V thôi thì em thêm vào lúc generate project bằng cmake:
cmake .. -G"Visual Studio 16 2019" -A x64 "-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows"
Oh em làm được rồi. Thanks anh ^^
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?