Chromium Code Reviews| Index: docs/component_build.md |
| diff --git a/docs/component_build.md b/docs/component_build.md |
| index 06341c21cd36e494134db3783d76e5ee184eb612..1de4e4d53e077d1065d6996300a7cc0c12c4155b 100644 |
| --- a/docs/component_build.md |
| +++ b/docs/component_build.md |
| @@ -253,3 +253,16 @@ 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 a symbol that is not linked in your component |
|
brettw
2017/02/09 21:58:44
I think the confusion you ran into is specific to
|
| + |
| +If an exported symbols is not linked as part of its own component then it is |
| +not exported by the generated shared library. Other components that expect to |
| +see this symbol are not be able to find it which results in an undefined symbol |
| +error: |
| + |
| + some_file.obj : error LNK2001: unresolved external symbol <some definition> |
| + |
| +For example this can happen if you have a header-only class that is not used |
| +inside the module itself. A simple fix in this case is to define the symbol in |
| +its own .cpp file. |