# aCC --version
aCC: HP ANSI C++ B3910B A.03.33
One can specify more than one newsgroup in the Newsgroups: line. The
format would look like this:
Newsgroups: group1,group2,group3
with no spaces in the grouplist. This has several advantages (so long
as it is not abused by posting messages to inappropriate groups). Only
one copy of your message must traverse the Internet, saving network
bandwidth; only one copy of your message must be stored on each news
server on the Internet, saving many MB of space world-wide; you only
have to enter the news posting once, saving you time; people only have
to read/skip your post once, saving them time; all responses in any
group can be seen in all groups, keeping everyone up to date with the
conversation.
Also, you can add a Followup-to: header line which will direct all the
follow-ups to a particular group, making it easier for you to look for
responses.
I hope you find this helpful. If you do, please pass it along to your
peers as you see them needing the same advice.
sincerely,
rick jones
--
Process shall set you free from the need for rational thought.
these opinions are mine, all mine; HP might not want them anyway... :)
feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...
CC_OPTS_MT = -D_RWSTD_MULTI_THREAD -mt
CC_OPTS_SHARED = ${CC_OPTS_MT} +W829 +W254 +W667 +W749 +Z
CC_OPTS_64BIT = -AP +DD64
mDep = aCC -c -E +M -AA
mC = aCC $(CC_OPTS_SHARED) -c
mCpp = aCC $(CC_OPTS_SHARED) -c
mLink = aCC $(CC_OPTS_SHARED) -s
mDll = aCC $(CC_OPTS_SHARED) -b -s
Now "make depend" is ok.
but
"make lib" fail
...
aCC -D_RWSTD_MULTI_THREAD -mt +W829 +W254 +W667 +W749 +Z -c -AP +DD64 -
I../util_dir/Include -I../open_ssl_dir/openssl/include -DUNIX -DHPUX -
DHPUX_11_00 -DCA_INCLUDED -DOS_UNIX -DOS_HPUX -DOS_HPUX_11_00 -
DLUNA_BIG_ENDIAN -DUSE_PTHREADS -D_REENTRANT -D_THREAD_SAFE -
DCA_INCLUDED -DLUNA_LP64_CORRECT Util/CommandQueue.cpp -o hpux/
CommandQueue.o
Warning: 2 future errors were detected and suppressed. Either
remove the '-w' option or add a '+p' option to detect and fix them
before they become fatal errors in a future release.
aCC -D_RWSTD_MULTI_THREAD -mt +W829 +W254 +W667 +W749 +Z -c -AP +DD64 -
I../util_dir/Include -I../open_ssl_dir/openssl/include -DUNIX -DHPUX -
DHPUX_11_00 -DCA_INCLUDED -DOS_UNIX -DOS_HPUX -DOS_HPUX_11_00 -
DLUNA_BIG_ENDIAN -DUSE_PTHREADS -D_REENTRANT -D_THREAD_SAFE -
DCA_INCLUDED -DLUNA_LP64_CORRECT Util/Int.cpp -o hpux/Int.o
g++ /opt/aCC/include_std/rw/codecvt.cc -o /opt/aCC/include_std/
rw/codecvt
/opt/aCC/include_std/rw/codecvt.cc:32: error: use of namespace `std'
as
expression
/opt/aCC/include_std/rw/codecvt.cc:39: error: ISO C++ forbids
declaration of `
_RWSTD_NAMESPACE_BEGIN' with no type
/opt/aCC/include_std/rw/codecvt.cc:39: error: syntax error before
`template'
/opt/aCC/include_std/rw/codecvt.cc:43: error: syntax error at end of
input
make[3]: *** [/opt/aCC/include_std/rw/codecvt] Error 1
...
# aCC --version
aCC: HP ANSI C++ B3910B A.03.33
# uname -a
HP-UX hp1 B.11.00 U 9000/785 2003725330 unlimited-user license
> g++ /opt/aCC/include_std/rw/codecvt.cc -o /opt/aCC/include_std/rw/codecvt
You are trying to compile aCC implementation files with g++.
Don't do that (find the place in your Makefile that compiles
codecvt.cc and make it use aCC instead of g++).
Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
I do not know how the g++ is invoked.
The makefile created the build.hpux file by "make depend":
...
mDep = aCC -c -E +M -AA
#mC = aCC $(CC_OPTS_SHARED) -c -Ae
mC = aCC $(CC_OPTS_SHARED) -c
mCpp = aCC $(CC_OPTS_SHARED) -c -AA
mLink = aCC $(CC_OPTS_SHARED) -s
mDll = aCC $(CC_OPTS_SHARED) -b -s
mDepOptions = $(DEP_OPTIONS) $(DEFINITIONS)
mCOptions = $(C_OPTIONS) $(DEFINITIONS)
mCppOptions = $(CPP_OPTIONS) $(DEFINITIONS)
mLinkOptions = $(LINK_OPTIONS)
mDllCOptions =
mDllCppOptions =
mDllLinkOptions = $(DLL_OPTIONS)
...
depend: target-dir
@-rm build.$(platform) >/dev/null
@$(MAKE) -f $(ROOT_MAKE) build.$(platform) \
"target = $(target)" \
"platform = $(platform)" \
"map = $(map)" \
"dep = $(mDep) $(mDepOptions)" \
"c = $(mC) $(mCOptions)" \
"cpp = $(mCpp) $(mCppOptions)" \
"link = $(mLink) $(mLinkOptions)"
lib lib2: target-dir
@$(MAKE) all -f $(ROOT_MAKE) \
"target = $(target)" \
"platform = $(platform)" \
"map = $(map)" \
"dep = $(mDep) $(mDepOptions)" \
"c = $(mC) $(mCOptions)" \
"cpp = $(mCpp) $(mCppOptions)" \
"link = $(ARCHIVER)"
The build.hpux file is being generated as follows:
cppDependencies = ${cppSources:.cpp=.dep}
cDependencies = ${cSources:.c=.dep}
sources = $(cppSources) $(cSources)
objects = $(objFiles)
dependencies = $(cppDependencies) $(cDependencies)
.SUFFIXES: .c .cpp .dep .o
all:
echo calling build.$(platform) with target $(target)....
@$(MAKE) -f build.$(platform) $(target) \
"target = $(target)" \
"platform = $(platform)" \
"map = $(map)" \
"dep = $(dep)" \
"c = $(c)" \
"cpp = $(cpp)" \
"link = $(link)" \
"objects = $(objects)"
#--------------------------------------------------------------------
# Dependency building
#--------------------------------------------------------------------
build.$(platform): $(FILENAME) makefile.$(platform) $
(dependencies)
@echo Made file $@
@cat $(FILENAME) $(dependencies) >$@
.cpp.dep: *.h source/*.h source/CryptokiObject/*.h
@echo Generating dependencies for $@....
@bash -c 'echo -e "\$$(platform)/\c"' > $@
@$(dep) $(depOptions) $< >> $@
@bash -c 'echo -e "\t\$$(cpp) \$$(cppOptions) $< -o \$$(platform)/$
(*F).o"' >> $@
.c.dep: *.h source/*.h source/CryptokiObject/*.h
@echo Generating dependencies for $@....
@bash -c 'echo -e "\$$(platform)/\c"' > $@
@$(dep) $(depOptions) $< >> $@
@bash -c 'echo -e "\t\$$(c) \$$(cOptions) $< -o \$$(platform)/$
(*F).o"' >> $@
...
$(cpp) $(cppOptions) Memory/IntegerArray.cpp -o $(platform)/
IntegerArray.o
$(platform)/MemoryBlock.o: Memory/MemoryBlock.cpp \
/opt/aCC/include_std/fstream \
/opt/aCC/include_std/istream \
/opt/aCC/include_std/ios \
/opt/aCC/include_std/rw/rwstderr.h \
/opt/aCC/include_std/rw/stddefs.h \
/opt/aCC/include_std/stdcomp.h \
/opt/aCC/include_std/compnent.h \
/opt/aCC/include_std/rw/rwlocale \
/opt/aCC/include_std/string \
/opt/aCC/include_std/rw/iterator \
/opt/aCC/include_std/cstddef \
/usr/include/stddef.h \
/usr/include/sys/stdsyms.h \
/usr/include/sys/_null.h \
/usr/include/sys/_size_t.h \
/usr/include/sys/_wchar_t.h \
/opt/aCC/include_std/stdexcept \
/opt/aCC/include_std/rw/exception.h \
/opt/aCC/include_std/exception \
/opt/aCC/include_std/cstdarg \
/usr/include/stdarg.h \
/usr/include/varargs.h \
/opt/aCC/include_std/limits \
/opt/aCC/include_std/rw/math.h \
/opt/aCC/include_std/cmath \
/usr/include/math.h \
/opt/aCC/include_std/cfloat \
/usr/include/float.h \
/opt/aCC/include_std/climits \
/usr/include/limits.h \
/usr/include/sys/param.h \
/usr/include/sys/types.h \
/usr/include/sys/_inttypes.h \
/usr/include/machine/vmtypes.h \
/usr/include/sys/_fd_macros.h \
/usr/include/machine/param.h \
/usr/include/sys/sysmacros.h \
/usr/include/machine/param_shm.h \
/usr/include/sys/time.h \
/usr/include/sys/sigevent.h \
/usr/include/machine/spl.h \
/usr/include/sys/kern_svcs.h \
/opt/aCC/include_std/limits.cc \
/opt/aCC/include_std/algorithm \
/opt/aCC/include_std/cstdlib \
/usr/include/errno.h \
/usr/include/sys/errno.h \
/usr/include/stdio.h \
/usr/include/sys/_null.h \
/usr/include/stdlib.h \
/usr/include/sys/wait.h \
/usr/include/sys/resource.h \
/usr/include/sys/_rlimit_body.h \
/usr/include/sys/signal.h \
/usr/include/sys/siginfo.h \
/usr/include/sys/newsig.h \
/usr/include/machine/save_state.h \
/usr/include/sys/syscall.h \
/usr/include/sys/scall_define.h \
/usr/include/machine/frame.h \
/usr/include/pwd.h \
/opt/aCC/include_std/memory \
/opt/aCC/include_std/new \
/opt/aCC/include_std/utility \
/opt/aCC/include_std/algorithm \
/opt/aCC/include_std/rw/stdmutex.h \
/opt/aCC/include_std/cstring \
/usr/include/string.h \
/usr/include/sys/_null.h \
/opt/aCC/include_std/rw/mutexwrpr.h \
/opt/aCC/include_std/algorithm.cc \
/opt/aCC/include_std/rw/random.h \
/opt/aCC/include_std/rw/random.cc \
/opt/aCC/include_std/cctype \
/usr/include/ctype.h \
/opt/aCC/include_std/cwchar \
/usr/include/time.h \
/usr/include/wchar.h \
/opt/aCC/include_std/cwctype \
/opt/aCC/include_std/rw/string_ref \
/opt/aCC/include_std/rw/traits \
/opt/aCC/include_std/cstdio \
/opt/aCC/include_std/rw/iotraits \
/opt/aCC/include_std/string.cc \
/opt/aCC/include_std/iosfwd \
/opt/aCC/include_std/typeinfo \
/opt/aCC/include_std/ctime \
/opt/aCC/include_std/clocale \
/usr/include/locale.h \
/usr/include/sys/_null.h \
/opt/aCC/include_std/stdio.h \
/opt/aCC/include_std/rw/locimpl \
/opt/aCC/include_std/rw/locvector \
/opt/aCC/include_std/rw/vendor \
/opt/aCC/include_std/rw/ctype \
/opt/aCC/include_std/rw/ctype.cc \
/opt/aCC/include_std/rw/numeral \
/opt/aCC/include_std/limits \
/opt/aCC/include_std/rw/rwlocale \
/opt/aCC/include_std/rw/iosbase \
/opt/aCC/include_std/rw/numeral.cc \
/opt/aCC/include_std/rw/numbrw \
/opt/aCC/include_std/rw/numbrw.cc \
/opt/aCC/include_std/rw/codecvt \
/opt/aCC/include_std/limits \
/opt/aCC/include_std/rw/codecvt.cc \
/opt/aCC/include_std/rw/usefacet \
/opt/aCC/include_std/ios.cc \
/opt/aCC/include_std/ostream \
/opt/aCC/include_std/streambuf \
/opt/aCC/include_std/ostream.cc \
/opt/aCC/include_std/istream.cc \
/opt/aCC/include_std/limits \
/opt/aCC/include_std/rw/file.h \
/usr/include/unistd.h \
/usr/include/sys/unistd.h \
/usr/include/utime.h \
/usr/include/sys/_time_t.h \
/usr/include/fcntl.h \
/usr/include/sys/fcntl.h \
/usr/include/sys/_flock_body.h \
/opt/aCC/include_std/fstream.cc \
/opt/aCC/include_std/iostream \
/usr/include/memory.h \
/opt/aCC/include_std/string.h \
Memory/MemoryBlock.h \
../util_vob/Include/ResultCode.h \
../util_vob/Include/../General/ResultCode.h \
../util_vob/Include/Defs.h \
../util_vob/Include/../General/../../fwinterface_vob/source/fwrc.h \
../util_vob/Include/Defs.h \
/opt/aCC/include_std/stdlib.h
$(cpp) $(cppOptions) Memory/MemoryBlock.cpp -o $(platform)/
MemoryBlock.o
...
> I modified the makefile, now the error is as follows, but I do not see
> any error in the typedef:
Unfortunately, you (apparently) have not yet done this:
PP> Please read this:
PP> http://catb.org/esr/faqs/smart-questions.html
Please do so *now*.
Then post *complete* lines 30 through 35 from Util/TokenCommandClass.h
30 #include "../General/Code.h"
31
32 typedef enum CmdObjTyp { CmdObjTyp_TokenCommand,
CmdObjTyp_ServerCommand };
33 typedef enum UtilTyp { UtilTyp_Command, UtilTyp_Response };
34
35
> 30 #include "../General/Code.h"
> 31
> 32 typedef enum CmdObjTyp { CmdObjTyp_TokenCommand, CmdObjTyp_ServerCommand };
> 33 typedef enum UtilTyp { UtilTyp_Command, UtilTyp_Response };
> 34
> 35
If this header is also included into plain-C files, then fix it thus:
typedef enum { CmdObjTyp_TokenCommand, CmdObjTyp_ServerCommand } CmdObjTyp;
typedef enum { UtilTyp_Command, UtilTyp_Response } UtilTyp;
If it is only included into C++ files, you could simply remove the
bogus 'typedef':
enum CmdObjTyp { CmdObjTyp_TokenCommand, CmdObjTyp_ServerCommand };
enum UtilTyp { UtilTyp_Command, UtilTyp_Response };
Try:
typedef enum { X, Y } CmdObjTyp;
typedef enum { X, Y } UtilTyp;
etc.
scott
If it is included in both, you shouldn't give in to the broken C
language. Declare it the C++ way, then the band-aid C way:
enum CmdObjTyp { CmdObjTyp_TokenCommand, CmdObjTyp_ServerCommand };
typedef enum CmdObjTyp CmdObjTyp;
You can of course combine the two.