Eureka log link issue

TwineCompile - Cut C++Builder compile times by up to 50x!
gbrandt
Posts: 9
Joined: Thu Oct 07, 2010 4:55 pm

Eureka log link issue

Post by gbrandt »

Eureka Log is not linked in when using TC as it is when using the normal built in build system.
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Eureka log link issue

Post by jomitech »

Interesting. They must be using an IDE build event that TwineCompile isn't calling. I've asked them what event they use, so that I can fix it in TC. In the meantime, create a post-build event that calls ecc32 with the --el_alter_exe option to add the EurekaLog system into the compiled executable.
Jon
macma
Posts: 5
Joined: Fri May 18, 2012 3:01 am

Re: Eureka log link issue

Post by macma »

Any news with this issue I use EurekaLog 6 and have the same problem. I use TwineCompile 3.3.1.231 and EurekaLog 6.1.0.4 Ent in RadStudio XE.

Best Regards,
Macma
CHillAtBI
Posts: 4
Joined: Mon Sep 23, 2019 12:15 pm

Re: Eureka log link issue

Post by CHillAtBI »

Any news with this issue, is it corrected in TC 5.0? I am using EurekaLog 7.4 and TwineCompile 4.5. The workaround works, but has the unintended side effect of causing EurekaLog to to run it's process even if there are no code changes. For example...

1.) Compile
a.) ecc32 runs
2.) Close your debug program
3.) Run it again
a.) ecc32 runs

Without this EurekaLog workaround or with the built in Embarcadero compile, step 3a does not happen. When you run step 3 it immediately kicks off the application. In our case ecc32 takes ~30 seconds to run. Thanks!
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Eureka log link issue

Post by jomitech »

Unfortunately, we do not have a built-in solution for this. I would suggest editing the TwineCompile .targets file to put the EurekaLog command at the end of the link step, and only run the command if the link was actually performed. Then you will not need to use the post-build event. For example:

Code: Select all

  <Target Name="TCPerformLink" DependsOnTargets="_ResolveOutput;_CheckLinkDependencies">
    <TCLink
...
        />
    <Exec
        Condition="'$(TLibLink)'!='true' And ('@(OutputOutOfDate)'!='' Or '$(ForceLink)'=='true')"
        Command="ecc32.exe --el_alter_exe=$(MSBuildProjectFullPath)"
        />
...
  </Target>
Jon
CHillAtBI
Posts: 4
Joined: Mon Sep 23, 2019 12:15 pm

Re: Eureka log link issue

Post by CHillAtBI »

That sounds like it will address my problem. I'll give it a try and let you know how it goes. Thanks!
CHillAtBI
Posts: 4
Joined: Mon Sep 23, 2019 12:15 pm

Re: Eureka log link issue

Post by CHillAtBI »

I was unable to find a "TwineCompile.Targets" file, is it by chance a 5.0 thing? I'm on 4.5. I took a chance that going to "TwineCompile->Options->Notifications/Compile Events" and entering the following two lines in the "On Link Start" event would be the same thing...

Code: Select all

Condition="'$(TLibLink)'!='true' And ('@(OutputOutOfDate)'!='' Or '$(ForceLink)'=='true')"
Command="ecc32.exe --el_alter_exe=$(MSBuildProjectFullPath)"

However when I do that it does not appear to link properly, and EurekaLogs fails when the program runs. It does produce an EXE and can be run.

Code: Select all

...
        All files up to date. No files to compile.
Executing Condition="'$(TLibLink)'!='true' And ('@(OutputOutOfDate)'!='' Or '$(ForceLink)'=='true')" Command="ecc32.exe --el_alter_exe=$(MSBuildProjectFullPath)"...
"Condition="'$(TLibLink)'!='true' And ('@(OutputOutOfDate)'!='' Or '$(ForceLink)'=='true')" Command="ecc32.exe --el_alter_exe=$(MSBuildProjectFullPath)""  
䌧湯楤楴湯‧獩渠瑯爠捥杯楮敺⁤獡愠湩整湲污漠⁲硥整湲污挠浯慭摮ബ漊数慲汢⁥牰杯慲牯戠瑡档映汩⹥਍ments\tmssoftware\TMS Component Pack\cp32mt.libCommand returned 1.
Linking...
Target TCPerformLink: 
...

We do use TMS Software as a 3rdparty app, but I suspect that that showing up is a coincidence and not the real problem. Would this be better suited to a support ticket? Let me know if so, whatever is easiest for you.
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Eureka log link issue

Post by jomitech »

On Link Start is too early. The EurekaLog process has to run after the link has completed.

Regarding the targets file, the actual file name of the targets file depends on the IDE being used. For example:
10.3 -> TCTargets103.targets
10.2 -> TCTargets10Tokyo.targets
10.1 -> TCTargets10Berlin.targets
10.0 -> TCTargets10Seattle.targets
XE8 -> TCTargetsXE8.targets
etc..

These files are located in the Program Files (x86)\JomiTech\TwineCompile folder.
Jon
CHillAtBI
Posts: 4
Joined: Mon Sep 23, 2019 12:15 pm

Re: Eureka log link issue

Post by CHillAtBI »

Oh duh, I should have seen those other .target files, sorry my bad. I moved it into that file and it appears to be resolving all the problems around EurekaLogs. Thanks!!
zzattack
Posts: 22
Joined: Tue Feb 02, 2021 3:35 am

Re: Eureka log link issue

Post by zzattack »

Hi Jon,
Would this work for 64-bit builds too?
Post Reply