[comp.sys.ibm.pc] Quick C math library problem?

todd@uhccux.UUCP (The Perplexed Wiz) (11/28/87)

I finally got around to installing my recently received Microsoft C
5.0 and QuickC.  Ran into a funny little problem.  I can't get QuickC
(qc) to seem to link in math routines correctly without first using
QLIB to build a 'qlb' library.

Something as simple as

	x = sin(1.23);

generates an "unresolved external" error unless I first do something
like

	qlib /s foo.c
	qc /l foo.qlb foo

before compiling it within QC.EXE.

This compile time error does NOT occur when using either CL or QCL
outside of the QuickC editor/environment.

The SETUP program appears to have done its job of installing the
various files correctly.  Since CL and QCL seem to be reading the
various DOS environmental variables (LIB, INCLUDE, etc.) ok, I am
assuing that somehow only QC.EXE itself is somehow screwed up.

I'd appreciate it if someone could tell me what I did wrong during the
installation of QC.EXE (which was installed at the same time as CL and
QCL) and how to fix it...todd
-- 
Todd Ogasawara, U. of Hawaii Faculty Development Program
UUCP:		{ihnp4,uunet,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!todd
ARPA:		uhccux!todd@nosc.MIL		BITNET: todd@uhccux
INTERNET:	todd@uhccux.UHCC.HAWAII.EDU

UD092096@NDSUVM1.BITNET (11/30/87)

...about not being able to use sin() in QuickC interactive mode.
     
I don't think the original poster did anything wrong, page 126 of the
QC Programmers Guide lists the funtions that are built into the QC.exe
(table 6.1), and doesn't list any of the math functions.
     
The manual says that to use functions not listed in table 6.1 you must
either create a quick library OR use the Program List.
     
Page 239 of the same manual shows how to build a bios quicklib, the same
method could be used to create a math quicklib that could be loaded when
QC is started.
     
Using the Program List also works, but slows down compilation since QC
links with a disk file rather than a function in memory.
     
Hope this helps
     
Barry Pederson    <UD092096@NDSUVM1.BITNET>

todd@uhccux.UUCP (The Perplexed Wiz) (12/02/87)

In article <458UD092096@NDSUVM1> UD092096@NDSUVM1.BITNET writes:
>...about not being able to use sin() in QuickC interactive mode.
>     
>Page 239 of the same manual shows how to build a bios quicklib, the same
>method could be used to create a math quicklib that could be loaded when
>QC is started.

Thanks to all that responded to my query and pointing out where to
look in the manual (I completely missed it reading it through the
first time :-(  )...

In any case, for anyone interested, doing a

	qlib /s qlib.ini

did the trick for me.  The various functions in graph.h and math.h
link fine under QuickC now..

Next question:  Anyone else having problem getting the library manager
(LIB) to work correctly?  (Aside from being the slowest executing
piece of software in the known DOS universe, that is)...


-- 
Todd Ogasawara, U. of Hawaii Faculty Development Program
UUCP:		{ihnp4,uunet,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!todd
ARPA:		uhccux!todd@nosc.MIL		BITNET: todd@uhccux
INTERNET:	todd@uhccux.UHCC.HAWAII.EDU