>
> I am pleased to see that the 12.5 compiler fixes the 12.4 compiler bug 
>> that was nobbling me earlier. The test harness and benchmark work ok. 
>> However I must be building the library wrong because although cryptopp 
>> builds ok, I cannot get my product to build that uses it. All the 
>> references to the crypto library remain unsatisfied. The linker says that 
>> the symbols I am referencing cannot be found yet when I use nm -C I see 
>> that they are there...
>>
>
> I believe Crypto++ also uses -template=no%extdef. The option has been in 
> effect since 5.6.1. I'm not sure why Wei added it, but I seem to recall 
> problems if it is not used.
>

-template=no%extdef is covered on page 71 of the C++ compiler user guide 
(https://docs.oracle.com/cd/E60778_01/pdf/E60746.pdf). Crypto++ honors this 
pattern:

hen generating preprocessor output with the -E or -P options, the 
definitions-separate file
organization does not allow the template definitions to be included in the 
.i file. Compiling
the .i file can fail due to missing definitions. By conditionally including 
the template
definition file in the template declaration header (see the code example 
below), you can ensure
the template definitions are available by using

    -template=no%extdef
    
on the command line. The libCtd and STLport libraries are implemented in 
this way.

    // templace declaration file
    template <class T> class foo { ... };
    #ifdef _TEMPLATE_NO_EXTDEF
    #include "foo.cc"  //template definition file
    #endif
    
However, do not attempt to define the macro _TEMPLATE_NO_EXTDEF yourself. 
When defined
without the —template=no%extdef option, compilation failures can occur due 
to multiple
inclusion of template definition files

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to