[why]
Some symbols (functions) are not exported to the shared library. But they are accessed by templated functions, so the call to them is instantiated by user code and the user needs to have access to the functions. That is even then the case when private member functions are involved.
[how]
Add export specifier to needed functions. Some few functions seem (!) to have no need for export, so they are excluded from exporting right now.
Maybe we want to export all functions. That whole setup is quite a thicket and it is hard to follow which templated functions call which other templated functions and so in the end need exported basic functions.
Then do the tests again with the shared library.
Another possibility would be to
Avoid templated functions that call internals (haha)
Make the whole ThreadPool a template so that the now exported functions all would be instantiated by the users (wastes spaces)
[note]
Most functions are now exported but not all. Hope the tests instantiate all templates in a way that all needed functions are called at least once. On the other hand we could just make all functions exporty.
[note]
ThreadPool is BROKEN in the current GUL release because the symbols are missing. The tests should use what users will use to make sure it will work. As the tests did not work with the current shared libraries that is true for any user code.
[why] Some symbols (functions) are not exported to the shared library. But they are accessed by templated functions, so the call to them is instantiated by user code and the user needs to have access to the functions. That is even then the case when private member functions are involved.
[how] Add export specifier to needed functions. Some few functions seem (!) to have no need for export, so they are excluded from exporting right now.
Maybe we want to export all functions. That whole setup is quite a thicket and it is hard to follow which templated functions call which other templated functions and so in the end need exported basic functions.
Then do the tests again with the shared library.
Another possibility would be to
[note] Most functions are now exported but not all. Hope the tests instantiate all templates in a way that all needed functions are called at least once. On the other hand we could just make all functions exporty.
[note] ThreadPool is BROKEN in the current GUL release because the symbols are missing. The tests should use what users will use to make sure it will work. As the tests did not work with the current shared libraries that is true for any user code.
Fixes: #83