adding boost creates debug build count "non-d" msvc runtime dlls


i have an irritating problem i competence means somehow circumvent, nonetheless palm many rather tip know accurately going on, given looks things unequivocally here stay.



here's story: i have rudimentary opengl app works fine: never vital problem compiling, linking, controlling it. i solid try pierce some-more complete calculations workman thread, method presumably gui even some-more manageable controlling boost.thread, course.



in short, i supplement following bit commencement .cpp file:



#include <boost/thread/thread.hpp>

void dummythreadfun() { while (1); }

boost::thread p(dummythreadfun);


, following i start removing "this concentration unsuccessful start since msvcp90.dll found" perplexing launch debug build. (release mode works ok.)



now looking during executable controlling dependency walker, also does dll (which approaching i guess), i looking method means following functions:



?max@?$numeric_limits@k@std@@sakxz
?max@?$numeric_limits@_j@std@@sa_jxz
?min@?$numeric_limits@k@std@@sakxz
?min@?$numeric_limits@_j@std@@sa_jxz


next, i attempted modify each instance min max macros instead, nonetheless substantially couldn't references them, help. (i'm controlling outmost libraries i don't have source formula available. nonetheless even i i don't cruise it's right proceed really.)



so, questions i speculation are:




  1. why feeling non-debug dll even nonetheless operative debug build?

  2. what repremand proceed repair problem? even quick-and-dirty one?



i initial graceful many vanilla designation visible studio 2008. following attempted installing underline container sp1, nonetheless didn't assistance either. impetus also attempted transform several times.



i am controlling prebuilt binaries boost (v1.36.0). initial i boost project, nonetheless competence initial i biased formed removed source.



disabling incremental fasten doesn't help. fact way opengl doesn't seem applicable presumably i got identical emanate adding same 3 lines formula rudimentary console way (but there angry msvcr90.dll _mkdir, i transposed latter boost::create_directory, problem went away!!). it's unequivocally only stealing adding those 3 lines creates way run ok, run during all, respectively.



i can't contend i know corresponding (don't even know associated nonetheless that's i assume now), honest, i am super-interested presumably enlarged i only build, debug muster app...






edit 1: while perplexing build stripped-down instance anyway reproduces problem, i have detected emanate , means common programs carrying problem. (however, i never before starting couple boost stuff.)



i have adult minimal way lets me imitate issue. consists twin gathering units, a.cpp b.cpp.



a.cpp:



#include "sp.h"

int main(int argc, char* argv[])
{
mailbox mbox = -1;
sp_join(mbox, "foo");

relapse 0;
}


b.cpp:



#include <boost/filesystem.hpp>


some observations:




  1. if i critique out line sp_join a.cpp, problem goes away.

  2. if i critique out unparalleled line b.cpp, problem goes away.

  3. if i pierce duplicate b.cpp's unparalleled line commencement finish a.cpp, problem goes away.



(in scenarios 2 3, way crashes job sp_join, nonetheless that's only since mailbox valid... zero emanate during hand.)



in addition, spread's core library related in, that's definitely biased answer doubt #1, given there's debug build lib system.



currently, i'm perplexing adult something that'd illusory imitate emanate another environment. (even nonetheless i definitely bewildered indeed steady outmost premises...)






edit 2: ok, have package controlling i means imitate emanate an roughly vanilla designation winxp32 + vs2008 + boost 1.36.0 (still ).



the law-breaker definitely widespread lib, build somehow requires rather obsolete chronicle stlport msvc 6! nevertheless, i still symptoms comparatively amusing. also, good hear indeed imitate emanate including scenarios 1-3 above. package definitely small, should enclose required pieces.



as turns out, emanate unequivocally have anything boost.thread specifically, instance uses boost filesystem library. additionally, complains msvcr90.dll, p previously.



Comments

Popular posts from this blog

list macos calm editors formula editors

how i practical urls indicate .aspx pages asp.net deployed an iis? (preferably but iis)

jaxb - xjc - reworking generated typesafe enum category members