You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
976 B
42 lines
976 B
# Compiling C/C++ code
|
|
|
|
The present document compiles a list of guidelines, recommendations, and
|
|
expectations around the topic of compiling C and C++ code against the Core SDK.
|
|
|
|
|
|
## Sysroot
|
|
|
|
The Fuchsia sysroot for a given target architecture is available under
|
|
`//arch/<architecture>/sysroot`.
|
|
That directory contains a complete sysroot and may be used with any tool that
|
|
accepts a `--sysroot` flag.
|
|
|
|
|
|
## Prebuilts
|
|
|
|
All prebuilts have C linkage.
|
|
|
|
### Debug symbols
|
|
|
|
Debug symbols for all prebuilts are available under `//.build-id`, which follows
|
|
a [standard convention][build-id].
|
|
|
|
|
|
## Compilation parameters
|
|
|
|
- C++ sources are compatible with both C++14 and C++17.
|
|
|
|
### Warning flags
|
|
|
|
The following flags are guaranteed to not generate any warning:
|
|
- `-Wall`
|
|
- `-Wextra-semi`
|
|
- `-Wnewline-eof`
|
|
- `-Wshadow`
|
|
|
|
The following flags may generate warnings:
|
|
- `-Wdeprecated-declarations`
|
|
|
|
|
|
[build-id]: https://fedoraproject.org/wiki/Releases/FeatureBuildId#Find_files_by_build_ID
|