| Index: docs/component_build.md
|
| diff --git a/docs/component_build.md b/docs/component_build.md
|
| index 06341c21cd36e494134db3783d76e5ee184eb612..650cd83fe5a4c61de68fac5b04a23a5242221d6e 100644
|
| --- a/docs/component_build.md
|
| +++ b/docs/component_build.md
|
| @@ -253,3 +253,12 @@ the object file might not be brought into the link. Even if it is brought in
|
| today, it might not be brought in due to completely unrelated changes in the
|
| future. The result will be undefined symbol errors from other components. Use
|
| source sets if your component is made up of more than one target.
|
| +
|
| +### Exporting functions and classes implemented in headers
|
| +
|
| +When you implement a symbol in a header the compiler will put that in every
|
| +necessary translation unit and the linker will pick one. If the symbol is never
|
| +referenced by code in the shared library it's supposed exported from, it will
|
| +never be instantiated and never exported. The result will be undefined external
|
| +symbol errors when linking. Exported symbols should be declared in a header but
|
| +always implemented in a .cc file.
|
|
|