Login Page - Create Account

Support Board


Date/Time: Thu, 19 Sep 2024 00:58:01 +0000



[Programming Help] - Clion Run/Debug Config Template attached

View Count: 319

[2024-02-18 02:41:22]
PeteB - Posts: 17
Hi, I thought I would post this BAT script which builds a chart study LLDB enabled debug dll from Clion without the need to cycle the Sierra instance.
It also shows interaction with the UDP Sierra interface in a simplified manner. YMMV
The script shown here is attached to this post as well.
-- Pete Billing

@echo off
REM =====================================================================================
REM --------------------- Clion Run Configuration Template ------------------------------
REM -------------------------------------------------------------------------------------
REM Build a Sierra Chart ASCIL module with DEBUG (LLDB) libs in Clion.
REM ------------------------------------------------------------------
REM Required customization:
REM (1) Check the vcvarsall.bat folder location.
REM (2) Set DIRNAME and FILENAME env vars in the Clion dialog.
REM DIRNAME=C:\SierraChart\SierraChartInstance_2;FILENAME=myStudyName
REM (3) Check the Sierra UDP IP addr and port (using 127.0.0.1, 22093)
REM GLOBAL SETTINGS->SIERRA CHART SERVER SETTINGS
REM -------------------------------------------------------------------
REM The UDP command msgs goto Sierra Chart to unload/reload the dll. Otherwise the link fails.
REM The call to VCVARSALL was copied from the output of a Sierra build in file
REM .../ACS_Source/VisualCCompile.Bat
REM The working dir is set via pushd. The working dir must be set.
REM =====================================================================================


pushd %DIRNAME%

set "c= $client = New-Object System.Net.Sockets.UdpClient; "
set "c=%c% $bytes = [System.Text.Encoding]::ASCII.GetBytes('RELEASE_DLL--%DIRNAME%\Data\%FILENAME%_64.dll'); "
set "c=%c% $client.Send($bytes, $bytes.Length, '127.0.0.1', 22093); "
set "c=%c% $client.Close();"
powershell -Command "%c%"


powershell -Command "Start-Sleep -Seconds 1"

call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
cl /JMC /MP /analyze- /Zc:wchar_t /Z7 /Od /GS /W3 /RTC1 /Zc:inline ^
/D "_WINDOWS" /D "_USRDLL" /D "_WINDLL" /Gd /Gy /GR- /GF /fp:precise ^
/MTd /std:c++17 /LD /EHa /WX- /diagnostics:classic /nologo ^
/Fo:"%DIRNAME%\ACS_Source\%FILENAME%.obj" ^
"%DIRNAME%\ACS_Source\%FILENAME%.cpp" ^
/link Gdi32.lib User32.lib ^
/DLL /DYNAMICBASE /DEBUG /INCREMENTAL:NO /OPT:REF /MACHINE:X64 ^
/OUT:"%DIRNAME%\Data\%FILENAME%_64.dll"


set "c= $client = New-Object System.Net.Sockets.UdpClient; "
set "c=%c% $bytes = [System.Text.Encoding]::ASCII.GetBytes('ALLOW_LOAD_ALL_DLLS'); "
set "c=%c% $client.Send($bytes, $bytes.Length, '127.0.0.1', 22093); "
set "c=%c% $client.Close();"
powershell -Command "%c%"


popd

Date Time Of Last Edit: 2024-02-18 19:00:17
attachmentsierra-ascil-build-template.bat - Attached On 2024-02-18 18:56:18 UTC - Size: 2.43 KB - 263 views
[2024-02-18 18:23:16]
gtaranti - Posts: 63
Thank you,

I adapted it a bit for my use case, but it's certainly working perectly!
[2024-05-16 15:52:46]
User389369 - Posts: 6
+1, works beautifully. Thank you very much.

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account