0

Add a common mistake case for header-only classes in components build doc

R=brettw@chromium.org

Review-Url: https://codereview.chromium.org/2686133003
Cr-Commit-Position: refs/heads/master@{#451390}
This commit is contained in:
majidvp
2017-02-17 14:41:21 -08:00
committed by Commit bot
parent 2e044871bf
commit e0ee33c5a7

@ -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.