[ace-users] Upgrade from ACE 5.5. to ACE 6.4 compilation error

Frank Kaaijk fkaaijk at delftdi.com
Wed Dec 20 03:54:50 CST 2017

Hi Johnny,

Thank you for your quick response. The problem does go away when including 'ace\Guard_T.h'.
The reason I didn't accept this as an answer earlier was my expectation that a 'base' include would handle this.

This is also why I was wondering about which (includes) files to copy for the NuGet package. If I would've missed some Perl script doing some post-processing on headers, it might have been the root-cause of my problem.


Frank Kaaijk
Software Architect
        [Logo Canon Group]
Wiltonstraat 41, Veenendaal
3905 KW Netherlands
T: +31 318 583 450 F: +31 318 583 451   [Logo DelftDI] <http://delftdi.com/hit>
[We care for people]

From: Johnny Willemsen [mailto:jwillemsen at remedy.nl]
Sent: woensdag 20 december 2017 10:11
To: Frank Kaaijk; ace-users at list.isis.vanderbilt.edu
Subject: Re: [ace-users] Upgrade from ACE 5.5. to ACE 6.4 compilation error


Yes, that is correct, due to splitting of files and reducing dependencies it could be that when you upgrade from 5.5 to 6.4 you need to add some missing includes. I would recommend you to use 6.4.6 which is the latest micro release.

Best regards,
Johnny Willemsen

Remedy IT

Postbus 81 | 6930 AB Westervoort | The Netherlands

On 12/20/2017 10:00 AM, Frank Kaaijk wrote:
As the subject already shows, I'm working on a long overdue version update of our ACE library.

We're moving to VS2017 and must therefore rebuild all libraries.
I've tried building 5.5 in VS2017 but got in big trouble pretty soon due to the _MSC_VER defines.
I decided to leave that route and build the latest stable version 6.4.0 in VS2017.

The building works just fine, but I get compilation errors:
Error C2079: 'guard' uses undefined class 'ACE_Guard<ACE_Thread_Mutex> '

I'm including 'ace\Synch.h' (and 'ace\ACE.h'), but as I already found out this header file no longer includes 'Guard_T.h' (as was the case in 5.5.)

I can add this include to my source, but is that correct? I expect Guard_T.h to be included by some 'base' include file.

One other question:
I'm generating NuGet packages and need to have the correct includes. Right now, I'm copying all '*.h', '*.inl' and '*.cpp' from ACE_Wrappers/ace. Is that correct? Or is a Perl script available for 'installing' ACE?


Frank Kaaijk
Software Architect


Wiltonstraat 41, Veenendaal
3905 KW Netherlands
T: +31 318 583 450 F: +31 318 583 451

[Logo DelftDI]<http://delftdi.com/hit>

[We care for people]



ace-users mailing list

ace-users at list.isis.vanderbilt.edu<mailto:ace-users at list.isis.vanderbilt.edu>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/ace-users/attachments/20171220/33c76c69/attachment-0001.html>

More information about the ace-users mailing list