Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/26/06 20:40
Read: times


 
#119155 - make
Responding to: ???'s previous message
Alistair George said:
when you 'Make' something it goes out and makes all the files that are included into .obj dont cha?

Not quite.
'make' should just invoke the appropriate translator (compiler or assembler) for each source file that is newer that its corresponding object file; it should then invoke the linker to link them all together (and then any other post-processing; eg, HEX file generation)

When I 'make' there are no errors generated, but when I compile the linker brings up 'undefined symbols' errors.

Some 'C' compilers (I don't know about Hi-Tech, but I think SDCC is one) effectively do a compile-and-link.
So, if Hi-Tech is like this, you may need to specify all the input files (inluding Libraries amd separately-compiled objects) on the command-line when you "compile" - otherwise the Linker (invoked via the compiler) will complain about udefined symbols.

Such compilers often have command-line options to do compile-only and link-only; you may find that your 'make' is using the compile-only option to translate (compile) each source individually, and then the link-only option to link them all together.

That could explain why just doing a compile (without specifying compile-only) could give you linker errors...

You need to check the makefile, and the compiler manual...


For an SDCC example, see http://www.8052.com/forum/read.phtml?id=115831


List of 18 messages in thread
TopicAuthorDate
Hi-tech C compile problem            01/01/70 00:00      
   Linker            01/01/70 00:00      
   Less Detail            01/01/70 00:00      
      'C' Globals            01/01/70 00:00      
   extern-ing a function declaration?            01/01/70 00:00      
      well...            01/01/70 00:00      
         The Secret            01/01/70 00:00      
            case was not an issue            01/01/70 00:00      
            Case still not an issue            01/01/70 00:00      
               Incorrect deduction            01/01/70 00:00      
                  Maybe Not            01/01/70 00:00      
                     Linker            01/01/70 00:00      
                        make            01/01/70 00:00      
   use Win98SE in a virtual machine, QEMU?            01/01/70 00:00      
      Vmware            01/01/70 00:00      
   Just a guess            01/01/70 00:00      
      possibly, but            01/01/70 00:00      
         after all the 'logicl' possibilities hav            01/01/70 00:00      

Back to Subject List