mm3d+@andrew.cmu.edu (Matt McNally) (10/28/88)
My cdev woes continue... Well I'm still trying to create (compile and link) Apple's example cdev that they provide in Inside Macintosh Volume V. After my last post I received an example cdev that, although it actually worked, doesn't use any of the PackIntf routines for strings and such. As Apple's example "Uses Memtypes, QuickDraw, OSIntf, ToolIntf, PackIntf" I would like to get cdev running that also uses all of those libraries. I have included the header of the Pascal code below as well as the output that occurs when I attempt to link the object code. I'm guessing when I link with 'Interface.o' and 'PasLib.o', but I haven't been able to locate a special runtime library for cdev's like DRVRRuntime. I PETITION YOU! If you can help me out or know of someone who has built Apple's sample CDEV (which I assume *someone* at Apple has done :-) could you please send me the correct variation of the Link command. I'm sure I'm missing something fairly obvious, but I think I may be on the verge of going insane and purchasing a Windows environment machine... Please send replies to mm3d@andrew.cmu.edu If there is an interest I'll post the finalized sources and make instructions to the net upon completion. Matt McNally Macintosh II Project Dugan/Programmer Carnegie Mellon, College of Humanities and Social Sciences ARPANET: mm3d@andrew.cmu.edu Office: BH239, (412) 268-8454 =====Header For A Sample CDEV===== { *** CDEVSamp.P ***: Sample source code for a Macintosh CDEV. All Pascal and Rez sources extracted from Inside Macintosh V pp.336-345 -MMM [10/17/88]} {Portions Copyright 1986,1987 Apple Computer, Inc. All rights reserved. Etc etc.} (* === Compilation Parameters === pascal CDEVSamp.p rez CDEVSamp.r -o CDEVSamp link -t cdev -c McCD -rt cdev=-4064 CDEVSamp.p.o {MPW}Libraries:Interface.o {MPW}Libraries:Runtime.o {MPW}PLibraries:PasLib.o -o CDEVSamp *) Unit cdev; Interface Uses Memtypes, QuickDraw, OSIntf, ToolIntf, PackIntf; Function CDEVSamp(message, item, numItems, CPanelID:Integer; theEvent: EventRecord; cdevValue: LongInt; CPDialog:DialogPtr) :LongInt; Implementation ... =====Example Compilation===== .... Here's how I attempt to compile and link the source code, please note that the errors only occurr during the link... pascal CDEVSamp.p rez CDEVSamp.r -o CDEVSamp link -t cdev -c McCD -rt cdev=-4064 CDEVSamp.p.o {MPW}Libraries:Interface.o {MPW}Libraries:Runtime.o {MPW}PLibraries:PasLib.o -o CDEVSamp ### While reading file ""BH239:MPW:Libraries:Runtime.o"" ### link: Error Linker error: uninitialized jump table offset = -1 [Repeats Six Above Error 6 times] ### link: Error Linker error: uninitialized jump table offset = -1 ### While reading file ""BH239:MPW:PLibraries:PasLib.o"" ### link: Error Linker error: uninitialized jump table offset = -1 [...Repeat Above Error 3 times...] ### link: Error Linker error: uninitialized jump table offset = -1 ### While reading file ""BH239:MPW:Libraries:Runtime.o"" ### link: Error Linker error: uninitialized jump table offset = -1 ### link: Error Data to Code reference not supported (no Jump Table). ### link: Errors prevented normal completion. ...As the example cdev uses strings and calls the PackIntf I assume that I at least have to link with PasLib (and subsequently Runtime), although I have indeed tried linking without them to no avail... Thanks in advance for any help.