Я уверен, что есть целый ряд причин этого может произойти - самый худший я когда-либо найденную был при попытке интегрировать ряд статических библиотек (наших), которые были первоначально DLLS (на самом деле, мы строить проекты как статические библиотеки DLL &).
Наша библиотека C++/CLI DLL использовала статические версии этих библиотек (Чтобы избежать проблем с зависимостью DLL, вызывающих проблемы с загрузкой ASP.NET при использовании Dll C++/CLI), и изначально была обнаружена такая же ошибка компоновщика.
Проблема заключалась в использовании макроса AFX_MANAGE_STATE (AfxGetStaticModuleState()), который был необходим, когда код был создан как DLL, но фактически не нужен для вызова статической библиотеки.
Чтобы решить эту проблему, я добавил следующий код в stdafx.h каждого проекта.
#ifdef OMUTILITIES_LINK_STATIC
#undef AfxGetStaticModuleState
#define AfxGetStaticModuleState AfxGetModuleState
#endif
Это, конечно же, не может быть вашей конкретной проблемой. Но в конце концов я понял, что это, включив опцию/VERBOSE для компоновщика и увидев, кто, что, где &, когда он вытягивал библиотеки времени выполнения. (Свойства проекта/Свойства конфигурации/Linker/Show Progress в vs2005)
Я получаю сообщение об ошибке при связывании, которое я получил в vc6, – 2008-12-10 12:58:57