The NIH class library uses a non-portable, compiler-dependent hack to initialize itself, which makes life difficult for g++ users. It will not work without modification, and I don't know what modifications are required or whether anyone has done them successfully.
In short, it's not going to happen any time soon (previous FAQs referred to patches that a new NIHCL release would hopefully contain, but this hasn't happened).
Note: I thought I saw an item indicating that someone had patched NIHCL to work with g++. Any pointers?
I think that as of version 2.5.6, the standard g++ will compile the
standard 3.1 InterViews completely successfully.
Note that you'll need the -fno-for-scope
flag
if you use gcc-2.7.0; with 2.7.2 you may be able to omit this flag
but you'll get warnings.
According to Jason Merrill, gcc-2.7.0 and newer works with Rogue
Wave's tools.h++
class library, but you may want to grab
`ftp://ftp.cygnus.com/pub/g++/Tools.h++-6.1-patch'. Again,
you'll need the -fno-for-scope
flag since Rogue Wave hasn't
fixed their code to comply with the new standard yet.