c++ - Finding Origin of Symbol Dependency -


I am working on a large project that has a ton of external dependency for a while I'm working on debug build. Now, when I try and release (after a long time), I get an error saying that a specific symbol is not found. Specifically in my case, the linker gives me an error saying the start_thread_noexcept not symbol. This symbol is expected to be found in the yarn-thread, but when I check the version of the Boost thread using the nm -G -D-demangle , I think that in fact This symbol is not found (I got the name of the start_thread name). Obviously, nocecext symbol can be found in more recent versions of the library.

My question though, is more common. What I want to do now is to find out the basics of the need for this symbol. I am guessing that there should be some new function call which I am doing which in turn invites the start_thread_noexcept function. Obviously, when compiling my code, a .o file should be generated, so that I can see this requirement below. Either, or have I added some new third party dependency which in turn requires a newer version of the Boost-Thread Library, which codes / libraries can I need this undefined symbol?

I went to the intermediate directory and did

  for x * In .o; Do $ x; Nm $ x | Grep "_ZN5boostlsIcSt11";   

It allowed me to track the compiling unit, in exchange for which I was allowed to find out the offensive bit (manual) of the code.

Comments

Popular posts from this blog

python - Writing Greek in matplotlib labels, titles -

c# - LINQ to Entities does not recognize the method 'Int32 IndexOf(System.String, System.StringComparison)' method -

c# - Call function from DLL -