1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-01-02 09:47:21 +00:00

Integrate GS1 Syntax Engine

This commit is contained in:
gitlost
2025-09-12 04:20:55 +01:00
parent ad95d8f2b0
commit 0650d5798e
32 changed files with 2109 additions and 723 deletions

View File

@@ -1,4 +1,4 @@
% win32/README 2024-01-18
% win32/README 2025-09-12
Visual Studio 2022
------------------
@@ -17,8 +17,8 @@ Make sure git and cmake are in your PATH, e.g. (your paths may differ)
set "PATH=C:\Program Files\Git\cmd;%PATH%"
set "PATH=C:\Program Files\CMake\bin;%PATH%"
Download zint, zlib and libpng by going to the directory you want to clone them
into:
Download zint, zlib, libpng and gs1encoders (GS1 Syntax Engine) by going to the
directory you want to clone them into:
cd <project-directory>
@@ -27,6 +27,7 @@ and cloning each:
git clone https://git.code.sf.net/p/zint/code zint
git clone https://git.code.sf.net/p/libpng/code lpng
git clone https://github.com/madler/zlib.git zlib
git clone https://github.com/gs1/gs1-syntax-engine
First build zlib:
@@ -42,6 +43,16 @@ and then lpng:
nmake -f scripts\makefile.vcwin32
cd ..
and then gs1encoders:
cd gs1-syntax-engine\src
msbuild /p:Configuration=Release;Platform=x86 gs1encoders.sln /t:gs1encoders
cd ..\..
and add the location of gs1encoders.dll to your path:
set "PATH=%cd%\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%PATH%"
If you now open "%cd%\zint\win32\zint.sln" with Visual Studio 2022, you
should be able to build the Release configuration for Win32.
@@ -117,16 +128,23 @@ CMake and Visual Studio
Zint can also be built using CMake with Visual Studio 2022, 2019, 2017 or 2015.
The following example uses Visual Studio 2019 to build for x86/Win32:
As above, follow the steps to build zlib and lpng.
As above, follow the steps to build zlib, lpng and gs1encoders.
CMake needs to be able to find zlib and lpng. One way to do this (requires
Administrator privileges) is to create two sub-directories in
"C:\Program Files (x86)" called "include" and "lib", and then copy
CMake needs to be able to find zlib, lpng and gs1encoders. One way to do this
(requires Administrator privileges) is to create two sub-directories in
"C:\Program Files (x86)" called "include" and "lib", and then copy:
"zlib\zlib.h", "zlib\zconf.h", "lpng\png.h", "lpng\pngconf.h" and
"lpng\pnglibconf.h" into "include", and
for %I in (zlib\zlib.h zlib\zconf.h ^
lpng\png.h lpng\pngconf.h lpng\pnglibconf.h ^
gs1-syntax-engine\src\c-lib\build\library\Win32\Release\gs1encoders.h) ^
do copy %I "C:\Program Files (x86)\include"
for %I in (zlib\zlib.lib lpng\libpng.lib ^
gs1-syntax-engine\src\c-lib\build\library\Win32\Release\gs1encoders.lib) ^
do copy %I "C:\Program Files (x86)\lib"
"zlib\zlib.lib" and "lpng\libpng.lib" into "lib".
and add the location of gs1encoders.dll to your path:
set "PATH=%cd%\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%PATH%"
This example uses Qt 5.15.2 and component "MSVC 2019 32-bit" so install them and
add to path (your path may differ):

View File

@@ -56,8 +56,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\zlib;..\..\lpng;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.15.0.9";BUILD_ZINT_DLL;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\zlib;..\..\lpng;..\..\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_HAVE_GS1SE;ZINT_VERSION="2.15.0.9";BUILD_ZINT_DLL;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<ExceptionHandling />
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -76,9 +76,9 @@
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
<AdditionalDependencies>libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libpng.lib;zlib.lib;gs1encoders.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zint.dll</OutputFile>
<AdditionalLibraryDirectories>..\..\lpng;..\..\zlib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\lpng;..\..\zlib;..\..\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libcmtd.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -90,8 +90,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>false</IntrinsicFunctions>
<AdditionalIncludeDirectories>..\..\zlib;..\..\lpng;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.15.0.9";BUILD_ZINT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\zlib;..\..\lpng;..\..\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_HAVE_GS1SE;ZINT_VERSION="2.15.0.9";BUILD_ZINT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -109,9 +109,9 @@
<LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
<Link>
<AdditionalDependencies>libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libpng.lib;zlib.lib;gs1encoders.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)zint.dll</OutputFile>
<AdditionalLibraryDirectories>..\..\lpng;..\..\zlib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\lpng;..\..\zlib;..\..\gs1-syntax-engine\src\c-lib\build\library\Win32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>