The std::string is almost certainly irrelevant to the crash. It's just the straw that breaks the camel's back, so to speak. Something in your MainWindow or app implementation is undoubtedly trashing the stack and your program wanders off into la-la land (n.b. your inability to get a stack trace), but it doesn't become apparent until you change the memory layout slightly by adding this extra member variable.

Look at how and where you are allocating memory in your MainWindow class. Are you using stack variables that go out of scope but which your code expects to be valid at a later time? Did you mistakenly redeclare a member variable as a local inside the constructor (thus hiding the real member variable)? Is everything properly initialized (especially pointers) before being used? Are you checking that all pointers are non-NULL before using them?

Finally, are all of the libraries you are linking to compiled with the same version of the compiler? Are you mixing up debug and release mode libraries or object files when linking or in runtime DLLs? Different versions of Qt?

Any of these things and more could cause the behaviour you are seeing.