Связывание с библиотекой в выпуске и .exe в случае отладки в Visual Studio

Я использую Visual C ++ 2008 SP1. У меня есть приложение, которое компилируется в режиме отладки, но ссылки на библиотеку в режиме выпуска.

У меня сбой при запуске приложения. Чтобы уменьшить проблему, я создал простое решение с двумя проектами:

lib_release (generates a .lib, in release mode) exec_using_lib_release (genereates a .exe, in debug mode)

«Lib_release» Проект достаточно прост, чтобы иметь простой класс:

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

«Exec_using_lib_release» Проект прост, как это:

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

И это дает сбой, это та же проблема, о которой сообщаетКак создать отладочную версию .exe (MSVCRTD.lib) для библиотеки, выпущенной на основе релиза (MSVCRT.lib)?, но его ответ не сработал для меня.

Я получаю те же предупреждения компоновщика, я пробовал те же шаги, но ни один не работал. Я что-то пропустил?

EDIT:

В lib_release (который создает библиотеку в режиме выпуска) я используюMulti Threaded (/MT)и в exec_using_lib_release я используюMulti Threaded Debug (/MTd), Я думаю, что это ожидаемый способ сделать это, так как я хочу, чтобы .lib создавался без отладочной информации. Я читаю документ наБиблиотека времени выполнения MSDN и это настройки связывания с ЭЛТ статическим способом.

У меня нет поддержки общеязыковой поддержки во время выполнения. или.

Ответы на вопрос(4)

Ваш ответ на вопрос