1 <!-- Copyright (C) 2003 Red Hat, Inc. -->
2 <!-- This material may be distributed only subject to the terms -->
3 <!-- and conditions set forth in the Open Publication License, v1.0 -->
4 <!-- or later (the latest version is presently available at -->
5 <!-- http://www.opencontent.org/openpub/). -->
6 <!-- Distribution of the work or derivative of the work in any -->
7 <!-- standard (paper) book form is prohibited unless prior -->
8 <!-- permission is obtained from the copyright holder. -->
12 >Compiling a C++ Application</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
22 TITLE="Compiler and Linker Options"
23 HREF="compiler-and-linker-options.html"><LINK
25 TITLE="Compiler and Linker Options"
26 HREF="compiler-and-linker-options.html"><LINK
28 TITLE="Debugging Techniques"
29 HREF="debugging-techniques.html"></HEAD
40 SUMMARY="Header navigation table"
57 HREF="compiler-and-linker-options.html"
65 >Chapter 26. Compiler and Linker Options</TD
71 HREF="debugging-techniques.html"
85 NAME="COMPILING-CPP-APP">Compiling a C++ Application</H1
87 >The following command lines demonstrate the
94 > set of options required to
95 compile and link an <SPAN
98 > program written in C++.
107 >Remember that when this manual shows
117 you should use the full name of the cross compiler,
129 >. When compiling for the
130 synthetic Linux target, use the native
134 > which must have the features
159 >/include -fno-rtti -fno-exceptions file.cxx
165 >g++ -o program file.o -L<TT
170 >/lib -Ttarget.ld -nostdlib</PRE
181 >Certain targets may require extra options,
182 for example the SPARClite architectures require the option
194 >/packages/targets</TT
203 >/examples/Makefile</TT
205 or the “Global compiler flags” option
206 (CYGBLD_GLOBAL_CFLAGS) in your generated
210 > configuration) to see if any extra options are
211 required, and if so, what they are.</P
213 >The following command lines use some other options
214 which are recommended because they use the
217 >selective linking</I
237 >/include -I. -ffunction-sections -fdata-sections -fno-rtti \
238 -fno-exceptions -finit-priority -g -O2 file.cxx
244 >g++ -o program file.o -W1,--gc-sections -g -O2 -L<TT
249 >/lib -Ttarget.ld -nostdlib</PRE
261 SUMMARY="Footer navigation table"
272 HREF="compiler-and-linker-options.html"
281 HREF="ecos-user-guide.html"
290 HREF="debugging-techniques.html"
300 >Compiler and Linker Options</TD
306 HREF="compiler-and-linker-options.html"
314 >Debugging Techniques</TD