Łączenie z biblioteką w wydaniu i .exe w debugowaniu powoduje awarię w Visual Studio

Używam Visual C ++ 2008 SP1. Mam aplikację skompilowaną w trybie debugowania, ale łącza do biblioteki w trybie zwolnienia.

Mam awarię przy uruchomieniu aplikacji. Aby zmniejszyć problem, stworzyłem proste rozwiązanie z 2 projektami:

lib_release (generuje .lib, w trybie wydania)exec_using_lib_release (generuje plik .exe w trybie debugowania)

Projekt „lib_release” jest wystarczająco prosty, aby mieć prostą klasę:

//Foo.h
#include <vector>
class Foo {
  std::vector<int> v;
  public:
  void doSomething();
};
//Foo.cpp
#include "Foo.h"
void Foo::doSomething() {}

Projekt „exec_using_lib_release” jest prosty:

//main.cpp
#include "Foo.h"
int main() {
   Foo foo;
   foo.doSomething();
   return 0;
}

I to się załamuje, jest to ten sam problem, który zgłosiłW jaki sposób zbudować debugowanie .exe (MSVCRTD.lib) w stosunku do biblioteki wbudowanej wersji (MSVCRT.lib)?, ale jego odpowiedź nie zadziałała dla mnie.

Dostaję te same ostrzeżenia o linkerze, próbowałem tych samych kroków, ale żaden nie działał. Czy czegoś brakuje?

EDYTOWAĆ:

W bibliotece lib_release (która tworzy bibliotekę w trybie wydania) używamMulti Threaded (/ MT)i w exec_using_lib_release używamDebugowanie wielowątkowe (/ MTd). Myślę, że jest to oczekiwany sposób na zrobienie tego, ponieważ chcę, aby plik .lib był tworzony bez informacji debugowania. Przeczytałem dokument pod adresemBiblioteka uruchomieniowa MSDN i są to ustawienia łączenia się z CRT w sposób statyczny.

Nie mam też „Common Language Runtime Support”.

questionAnswers(4)

yourAnswerToTheQuestion