"Hansen" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hi Group > > I've started up a C++ standard make project in Eclipse, where I would > like to make an applikation for the lpc2138. > > When trying to use C++ functions like <stdio.h> and printf() I get the > following message when linking: > > undefined reference to 'puts' > > I get the same kind of message when trying other functions as well, and also > when trying to declare a function as virtual. Also when using assert() which > are a C function. > > My linking command looks like this: > > -T $(LD_SCRIPT_RAM) -lstdc++ > -Wl,-Map=".\bin\Ram\Blinky.map",-Ttext=0x40000000,-Tdata=0x40003000 \ > --gc-sections -o .\RAM\Blinky.elf \ > -nostartfiles -nodefaultlibs
It sounds as if the linker is not picking up the standard library libc. Is there a particular reason you are using he -nostartfiles and -nodefaultlibs options? These tell the linker not to use standard system startup files and standard system libraries respectively. Without -nodefaultlibs you shouldn't have to specify -lstdc++ either - the linker should automatically pick up the standard libraries. Maybe try passing: -T $(LD_SCRIPT_RAM) \ -Wl,-Map=".\bin\Ram\Blinky.map",-Ttext=0x40000000,-Tdata=0x40003000 \ --gc-sections -o .\RAM\Blinky.elf Regards, -- Lionel B _______________________________________________ Help-gplusplus mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gplusplus
