Clang project properties (Android C++)
Property | Description | Choices |
---|---|---|
Additional Include Directories | Specifies one or more directories to add to the include path; separate with semi-colons if more than one. (-Ipath). | |
Debug Information Format | Specifies the type of debugging information generated by the compiler. | None - Produces no debugging information, so compilation may be faster. Full Debug Information (DWARF2) - Generate DWARF2 debug information. Line Number Information - Generate Line Number information only. |
Object File Name | Specifies a name to override the default object file name; can be file or directory name. (/Foname). | |
Warning Level | Select how strict you want the compiler to be about code errors. Other flags should be added directly to Additional Options. (/w, /Weverything). | Turn Off All Warnings - Disables all compiler warnings. EnableAllWarnings - Enables all warnings, including any disabled by default. |
Treat Warnings As Errors | Treats all compiler warnings as errors. For a new project, it may be best to use /WX in all compilations; resolving all warnings will ensure the fewest possible hard-to-find code defects. | |
Enable Verbose mode | Show commands to run and use verbose output. | |
Optimization | Specifies the optimization level for the application. | Custom - Custom optimization. Disabled - Disable optimization. Minimize Size - Optimize for size. Maximize Speed - Optimize for speed. Full Optimization - Expensive optimizations. |
Strict Aliasing | Assume the strictest aliasing rules. An object of one type is never assumed to be at the same address as a different type object. | |
Omit Frame Pointer | Suppresses creation of frame pointers on the call stack. | |
Enable C++ Exceptions | Specifies the model of exception handling to be used by the compiler. | No - Disable exception handling. Yes - Enable exception handling. Unwind Tables - Generates any needed static data, but doesn't affect the code generated. |
Enable Function-Level Linking | Allows the compiler to package individual functions in the form of packaged functions (COMDATs). Required for edit and continue to work. (ffunction-sections). | |
Enable Data-Level Linking | Enables linker optimizations to remove unused data by emitting each data item in a separate section. | |
Enable Advanced SIMD(Neon) | Enables code generation for NEON floating point hardware. Only applicable to ARM architecture. | |
Floating-point ABI | Selection option to choose the floating point ABI. | Soft - 'Soft' causes compiler to generate output containing library calls for floating-point operations. SoftFP - 'SoftFP' allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. Hard - 'Hard' allows generation of floating-point instructions and uses FPU-specific calling conventions. |
Security Check | The Security Check helps detect stack-buffer over-runs, a common attempted attack upon a program's security. (fstack-protector). | Disable Security Check - Disable Security Check. Enable Security Check - Enable Security Check. (fstack-protector) |
Position Independent Code | Generate position-independent code (PIC) for use in a shared library. | |
Use Short Enums | Enum type uses only as many bytes required by input set of possible values. | |
Enable Run-Time Type Information | Adds code for checking C++ object types at run time (runtime type information). (frtti, fno-rtti) | |
C Language Standard | Determines the C language standard. | Default C89 - C89 Language Standard. C99 - C99 Language Standard. C11 - C11 Language Standard. C99 (GNU Dialect) - C99 (GNU Dialect) Language Standard. C11 (GNU Dialect) - C11 (GNU Dialect) Language Standard. |
C++ Language Standard | Determines the C++ language standard. | Default C++03 - C++03 Language Standard. C++11 - C++11 Language Standard. C++14 - C++14 Language Standard. C++03 (GNU Dialect) - C++03 (GNU Dialect) Language Standard. C++11 (GNU Dialect) - C++11 (GNU Dialect) Language Standard. C++14 (GNU Dialect) - C++14 (GNU Dialect) Language Standard. |
Preprocessor Definitions | Defines preprocessing symbols for your source file. (-D) | |
Undefine Preprocessor Definitions | Specifies one or more undefines to the preprocessor. (-U macro) | |
Undefine All Preprocessor Definitions | Undefine all previously defined preprocessor values. (-undef) | |
Show Includes | Generates a list of include files with compiler output. (-H) | |
Precompiled Header | Create/Use Precompiled Header: Enables creation or use of a precompiled header during the build. | Use - Use a Precompiled Header. Not using Precompiled Headers - Not using a Precompiled Header. |
Precompiled Header File | Specifies header file name to use for precompiled header file. This file is also added to 'Forced Include Files' during build | |
Precompiled Header Output File Directory | Specifies the directory for the generated precompiled header. This directory is also added to 'Additional Include Directories' during build | |
Compile Precompiled Header As | Select compile language option for precompiled header file (-x c-header, -x c++-header). | Compile as C Code - Compile as C Code. Compile as C++ Code - Compile as C++ Code. |
Compile As | Select compile language option for .c and .cpp files. 'Default' will detect based on .c or .cpp extension. (-x c, -x c++) |
Default - Default. Compile as C Code - Compile as C Code. Compile as C++ Code - Compile as C++ Code. |
Forced Include Files | one or more forced include files. (-include name) | |
Multi-processor Compilation | Multi-processor Compilation. | |
Additional Options | Additional Options. |