fungos / cr

cr.h: A Simple C Hot Reload Header-only Library
https://fungos.github.io/cr-simple-c-hot-reload/
MIT License
1.54k stars 101 forks source link

[Tutorial]Windows *.dll only Live Reload #46

Open bmFicg opened 4 years ago

bmFicg commented 4 years ago

maybe someone find it useful - ido

step-by-stepinstructions

  1. Create a working folder.
  2. Findthe vcvars32.bat (for 32bit) or vcvars64.bat and copy+paste it into your working folder.
  3. Create three Windows Batch files with the content listed below.
  4. Download to your working folder. cr.h | basic_guest.c | basic_host.cpp
  5. Edit the source of basic_guest.c and basic_host.cpp to:

    include "cr.h"

  6. Open up windows terminal (cmd.exe) and navigate to you working directory. for example: CD /D C:\Documents\myWorkingFolder
  7. Execute vcvarsXX.bat in your cmd.
  8. Build the remaining *.bat files.
    • If changes were made to the guest.c source Save the fileand Rebuild the source from cmd.
build_basic_guest.bat
cl /c basic_guest.c
link basic_guest.obj /DLL
build_basic_host.bat
cl /DCR_DEPLOY_PATH=\"./\" /EHsc basic_host.cpp
cleanup.bat
DEL *.dll *.obj *.lib *.exp *.exe

Further consideration: currently the naming convention of the .dll files increments with every build. Fortunately its easy to change this behaivor and use only two states of guest .dll (old and new, a and b or 0 and 1 ) and switch between the edited content with every new build.