From: Tony_Toulouse <pel...@fr...> - 2009-07-02 15:04:45
|
Hello, Is there any way of compiling a simple helloworld.c using cross compilation (I'm on uBuntu 9.04) and without doing a bitbake? like under linux when doing "gcc hello.c -o hello". Thanks for your help, Tony -- View this message in context: http://www.nabble.com/Building-simply-very-simple-c-c%2B%2B-code--tp24308427p24308427.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Bruce B. <bru...@da...> - 2009-07-02 18:24:28
|
Sure. I do it all the time. The easiest thing to do is put together a makefile. The important part is the toolchain definition, for instance: TOOLCHAIN=$(OVEROTOP)/tmp/cross/armv7a STAGING=$(OVEROTOP)/tmp/staging/armv7a-angstrom-linux-gnueabi/usr TOOLDIR=$(TOOLCHAIN)/bin CXX=$(TOOLDIR)/arm-angstrom-linux-gnueabi-gcc STRIP=$(TOOLDIR)/arm-angstrom-linux-gnueabi-strip LIBDIR=$(STAGING)/lib INCDIR=$(STAGING)/include LIBS=$(TOOLCHAIN)/arm-angstrom-linux-gnueabi/lib/libstdc++.a -L$(LIBDIR) LINK=$(CXX) My compile rule looks like: %.o: %.cpp $(CXX) $< -I $(INCDIR) -fno-rtti -o $@ I build the list of objects (since I have a parameter dirven variable mix of C and C++ modules), and link with: $(TARGET) : $(OBJS) $(LINK) -o $(TARGET) -Wl $(DEBUG) $(OBJS) $(LIBS) Obviously, for a simple program you can combine it into a single compile and link step. The important part is getting the include path and library path right. You have to have done a bitbake once to have generated the toolchain and staging area, but for simple programs you don't have to do it again. Bruce Tony_Toulouse wrote: > Hello, > > Is there any way of compiling a simple helloworld.c using cross compilation > (I'm on uBuntu 9.04) and without doing a bitbake? like under linux when > doing "gcc hello.c -o hello". > > Thanks for your help, > > Tony > |
From: Tony_Toulouse <pel...@fr...> - 2009-07-02 20:49:27
|
Two more questions: - How do I find docs about libraries and even libraries names to use overo interfaces (like GPIOs, UARTs, SPI, I2C; PWM etc...) - could you point me to any reference or something that helps configuring and using OMAP interrupts for the interfaces listed above? Thanks again for you help. Tony Bruce Bernstein wrote: > > Sure. I do it all the time. The easiest thing to do is put together > a makefile. The important part is the toolchain definition, for instance: > > TOOLCHAIN=$(OVEROTOP)/tmp/cross/armv7a > STAGING=$(OVEROTOP)/tmp/staging/armv7a-angstrom-linux-gnueabi/usr > TOOLDIR=$(TOOLCHAIN)/bin > CXX=$(TOOLDIR)/arm-angstrom-linux-gnueabi-gcc > STRIP=$(TOOLDIR)/arm-angstrom-linux-gnueabi-strip > > LIBDIR=$(STAGING)/lib > INCDIR=$(STAGING)/include > > LIBS=$(TOOLCHAIN)/arm-angstrom-linux-gnueabi/lib/libstdc++.a > -L$(LIBDIR) > LINK=$(CXX) > > > My compile rule looks like: > %.o: %.cpp > $(CXX) $< -I $(INCDIR) -fno-rtti -o $@ > > I build the list of objects (since I have a parameter dirven variable > mix of C and C++ modules), and link with: > $(TARGET) : $(OBJS) > $(LINK) -o $(TARGET) -Wl $(DEBUG) $(OBJS) $(LIBS) > > > Obviously, for a simple program you can combine it into a single compile > and link step. The important part is getting the include path and > library path right. You have to have done a bitbake once to have > generated the toolchain and staging area, but for simple programs you > don't have to do it again. > Bruce > > > > Tony_Toulouse wrote: >> Hello, >> >> Is there any way of compiling a simple helloworld.c using cross >> compilation >> (I'm on uBuntu 9.04) and without doing a bitbake? like under linux when >> doing "gcc hello.c -o hello". >> >> Thanks for your help, >> >> Tony >> > > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > -- View this message in context: http://www.nabble.com/Building-simply-very-simple-c-c%2B%2B-code--tp24308427p24313469.html Sent from the Gumstix mailing list archive at Nabble.com. |