ane4ka
asked on
Error compiling C++ on UNIX: Roguewave libraries
I'm trying to compile C++ executable on UNIX using the makefile. C++is rouguewave compatible so we are using roguewave libraries.
Here's the part of make file that poitnt to the libararies:
RWTAG = m
RWROOT = /opt/sourcepro/5_2003/6.2_ patch5_32
RWINC = -D_REENTRANT -mt -D_RWCONFIG=${RWTAG} -I${RWROOT}
RWLIB = $(RWROOT)/lib
RWLIBS = -L$(RWLIB) -lm -ldl -libdbt53-m -libtls77-m
SUNPROLIB = $(SUNPRO)/lib
SYSLIB = -lsocket -lnsl
HOMEDIR = $(HOME)/lib
HOMELIB = -L$(HOMEDIR) -lcleandb -ldbaccess \
-lrndcommon -lrndservice
ALL_LIBS = $(SYSLIB) \
$(RWLIBS)
During the compilation I get the following error:
-lsocket -lnsl -L/opt/sourcepro/5_2003/6. 2_patch5_3 2/lib -lm -ldl -libdbt53-m -libtls77-m -L/home/aserebry/C++/lib -lcleandb -ldbaccess -lrndcommon -lrndservice
ild: (argument error) can't find library arguments :: -libdbt53-m -libtls77-m
What does this error mean? Can you please pinpont me why do I ge tthis error. Do you I have to change something in the makefile or there is problem with the libraries.
Please let me know if you need more info.
Thaks in advance for your answer.
Here's the part of make file that poitnt to the libararies:
RWTAG = m
RWROOT = /opt/sourcepro/5_2003/6.2_
RWINC = -D_REENTRANT -mt -D_RWCONFIG=${RWTAG} -I${RWROOT}
RWLIB = $(RWROOT)/lib
RWLIBS = -L$(RWLIB) -lm -ldl -libdbt53-m -libtls77-m
SUNPROLIB = $(SUNPRO)/lib
SYSLIB = -lsocket -lnsl
HOMEDIR = $(HOME)/lib
HOMELIB = -L$(HOMEDIR) -lcleandb -ldbaccess \
-lrndcommon -lrndservice
ALL_LIBS = $(SYSLIB) \
$(RWLIBS)
During the compilation I get the following error:
-lsocket -lnsl -L/opt/sourcepro/5_2003/6.
ild: (argument error) can't find library arguments :: -libdbt53-m -libtls77-m
What does this error mean? Can you please pinpont me why do I ge tthis error. Do you I have to change something in the makefile or there is problem with the libraries.
Please let me know if you need more info.
Thaks in advance for your answer.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You're welcome :o)
As a rule of thumb: The linker aguments have to be of the form -l<archive> with the library being named lib<archive>.a - see tne manpage:
`-larchive'
`--library=archive'
Add archive file archive to the list of files to link.
This option may be used any number of times. `ld'
will search its path-list for occurrences of
`libarchive.a' for every archive specified.
As a rule of thumb: The linker aguments have to be of the form -l<archive> with the library being named lib<archive>.a - see tne manpage:
`-larchive'
`--library=archive'
Add archive file archive to the list of files to link.
This option may be used any number of times. `ld'
will search its path-list for occurrences of
`libarchive.a' for every archive specified.
ASKER
worked.
Thanks for your help!