Greater than Windows 10, C++20 must be used

Introduce two compilation methods, xmake and vcpkg

Open powershell

Download paozhu

https://github.com/hggq/paozhu

Extract to current directory paozhu

Install MySQL

https://dev.mysql.com/downloads/mysql/

MySQL Community Server 8

        #mysql -u root -p
        
        create database cppcms default character set utf8mb4 collate utf8mb4_general_ci;
    
        use cppcms;
    
        source C:\Users\a\paozhu\conf\cppcms.sql;
    
        use mysql;
    
        create user 'cppcms'@'localhost' identified by 'H3fHeRlVbwU@4456';
        GRANT ALL PRIVILEGES ON cppcms.* TO 'cppcms'@'localhost'; 
        ALTER USER 'cppcms'@'localhost' ;
    
        select host,user,authentication_string from user;
    
        exit;
        

By XMake install


        Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content
        

Config conf/server.conf replace /Users/hzq/paozhu path to your project path


        paozhu-main> unzip asio.zip
        paozhu-main> xmake
        paozhu-main> .\build\windows\x64\release\paozhu.exe

        copy 
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64\clang_rt.asan_dynamic-x86_64.dll
        to 
        bin\Debug\clang_rt.asan_dynamic-x86_64.dll
        
        paozhu-main> .\build\windows\x64\release\paozhu.exe
        

Open Browser

http://localhost

http port see conf/server.conf file

By vcpkg install

Install CMake https://cmake.org/download/


            powershell Invoke-WebRequest -OutFile vcpkg2024.zip https://github.com/microsoft/vcpkg/archive/refs/tags/2024.09.30.zip
            unzip vcpkg2024.zip
            mv vcpkg-2024.09.30 vcpkg
            cd vcpkg
            bootstrap-vcpkg.bat
            vcpkg integrate install
            vcpkg integrate project
            vcpkg install
            vcpkg install zlib 
            vcpkg install openssl
            vcpkg install brotli
        

Install ninja https://github.com/ninja-build/ninja/releases

Compile project CMAKE_TOOLCHAIN_FILE is vcpkg install localtion path


            unzip asio.zip
            cmake . -B ${{github.workspace}} -DENABLE_WIN_VCPKG=ON -DENABLE_VCPKG=ON -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_BUILD_TYPE=Debug -G Ninja
            cmake --build . --config Debug    
        

OR NOT ninja


cmake . -B . -DENABLE_WIN_VCPKG=ON -DENABLE_VCPKG=ON -DCMAKE_TOOLCHAIN_FILE=C:/Users/a/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug
copy 
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64\clang_rt.asan_dynamic-x86_64.dll
to 
bin\Debug\clang_rt.asan_dynamic-x86_64.dll

PS C:\Users\a\paozhu> C:\Users\a\paozhu\bin\Debug\paozhu.exe

Open Browser

http://localhost

http port see conf/server.conf file

Docs