Projewski’s Weblog

listopad 16, 2007

LIBCMT.lib(crt0dat.obj) : error LNK2005: __osplatform already defined in atlmincrt.lib(atlinit.obj)

Kategoria wpisu: C i C++ — projewski @ 10:35 przed południem

Dziś natknąłem się na następujący problem z linkerem (MSVC 2005):

LIBCMT.lib(crt0dat.obj) : error LNK2005: __osplatform already defined in atlmincrt.lib(atlinit.obj)
LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

Oczywiście było parę innych spokrewnionych błędów. Problem pojawił się, gdy do tworzonej DLL’ki, która używa paru niewinnych rzeczy z ATL (COM) dodałem funkcjonalności STL’a. Zmiany ustawień w Project->Properties…->General dla opcji Use of ATL oraz Minimize CRT Use in ATL przysparzają więcej problemów niż rozwiązań.

Rozwiązaniem okazało się wykonanie wpisu w pliku StdAfx.h postaci
#undef _ATL_MIN_CRT
przed formami include do ATL.

Brak komentarzy »

Do tego wpisu nie dodano żadnych komentarzy.

Wątek RSS dla komentarzy do tego wpisu. Adres TrackBack

Dodaj komentarz

Blog at WordPress.com.