Root > Recompilation (Enterprise) > Files layout

Files layout

Previous pageReturn to chapter overviewNext page   

EurekaLog 7 changes way to manage its files. Now files are organized in typical manner for Delphi libraries:

\Bin - compiled executables (tools), 32-bit. Each EurekaLog tool and helper has its .exe/.dll files here (except for EurekaLog itself).
\Bin64 - compiled executables, 64-bit. Not all tools have 64-bit counterparts.
\Lib - precompiled EurekaLog files (units):
o\Lib\<platform> - precompiled EurekaLog units (.dcu, .obj, .hpp). Each folder has subfolders for Debug/Release configuration and subfolder for different IDE versions.
o\Lib\Obj\<platform> - precompiled external source code (non-Delphi). This is location for .obj files of ZLib project. ZLIb is used by EurekaLog to compress injected debug information.
o\Lib\Common - copy of all resource files.

\Lib folder is used to compile your projects.

\Packages - EurekaLog executables (packages and command-line compiler).
\Source - source code of EurekaLog (.pas files). Full source code is available only for Enterprise edition. Other editions have only headers (declarations). Full source code can be used to recompile EurekaLog. By default this folder is not used by your projects.
\Source - EurekaLog files. Those are files for your application.
\Source\Extras - additional EurekaLog files. Those are add-on files, which are always distributed with source code and they are always recompiled for your applications.
\Source\Design - files for IDE expert. Used at design-time.
\Source\Compiler - files for command-line compiler (ecc32/emake).
\Source\Common - common files (includes and resources).


\Lib folder should be mentioned in search paths either in IDE or your project. When you compile your project - precompiled files from \Lib folder are used. EurekaLog itself is not compiled (which is faster, saves original settings for EurekaLog compilation, does not modify files, UAC-friendly).


There are Debug and Release subfolders in \Lib\<platform> folders.

Release contains files which were compiled with "Use Debug DCUs" option unchecked.

Debug contains files which were compiled with "Use Debug DCUs" option checked.

There are no significant differences in other compilation options for these files. Both have debug information included.

Release folder (proper IDE subfolder - see below) should be listed in library search paths for IDE or project.

Debug folder (proper IDE subfolder - see below) should be listed in debug search paths for IDE or project.


If your application has "Use Debug DCUs" option checked - then files from Debug folder will be used (regardless of Debug/Release build configuration in your application).

If your application has "Use Debug DCUs" option unchecked - then files from Release folder will be used (regardless of Debug/Release build configuration in your application).


Important note: there are known binary incompatibilities between Release and Debug versions of stock RTL. If you compile your unit against Debug RTL's DCUs - it may not work with Release RTL's DCUs. That is why we ship both Release and Debug sets. Release set of our DCUs is compiled against Release RTL's DCUs (and, additionally, have no DEBUG_EL_CODE defined), Debug set of our DCUs is compiled against Debug RTL's DCUs (and, additionally, have DEBUG_EL_CODE defined). Therefore, if you compile your project in Release build configuration, but your search paths pick up Debug folder from EurekaLog - you may get incompatibility errors. Again, be sure that library path points to Release build configuration of EurekaLog, and you have Debug paths points to Debug build configuration.


Both Release and Debug folders contain subfolders for various supported IDEs. To map your IDE version to name of folder inside Release and Debug folders - see this article.


Source folder should be added to IDE browsing paths options, so IDE will be able to open and show EurekaLog's .pas files.


Run-time package (EurekaLogCore) from Packages folder is copied to Windows\System32 folder. This is done to avoid altering %PATH% environment variable.


The entire EurekaLog folder in Program Files contains only read-only files which are not modified for typical usage cases. All files which should be writable (such as Demos, bug reports, profiles, translations, etc.) are installed into %APPDATA%\Neos Eureka S.r.l\EurekaLog\ folder.



See also:

Send feedback... Build date: 2024-07-17
Last edited: 2023-03-07
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: