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

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -