Undefined symbol error at runtime

I have compiled a library A with gcc 7.5 that references in a implementation file (.cpp) a class of another library B. But the referenced library B is not added as a dependency to library A.
When I compile this library A with msvc & Windows, I get no error at application runtime. When compiled with gcc under linux, there is a undefined symbol error at application runtime. Why is that? Why is the application running fine under windows, but not under linux?
Linking in Linux differs from Windows and OS X.

There is not much "linking", when you create a library. You need all the libraries when you link an executable.
Registered users can post here. Sign in or register to post.