sobota, 4 lipca 2009

Kompilacja z bibliotekami w Visual C++ 2008 EE

Piszemy program, chcemy się nim pochwalić i wysyłamy go koledze i co się okazuje? Nie da się go uruchomić, a wynika to z braku bibliotek (Dokładnie których bibliotek możemy się dowiedzieć dzięki programowi 'Dependency Walker') możemy ją oczywiście zamieścić wraz z plikiem programu ale równie dobrze możemy przed kompilacją zmienić w opcjach projektu w C/C++/Code Generation/Runtime Library z:
- Multi-threaded DLL na Multi-threaded (dla konfiguracji Release)
- Multi-threaded Debug DLL na Multi-threaded Debug (dla konfiguracji Debug)
Co spowoduje dołączenie odpowiednich bibliotek co oczywiście nieznacznie zwiększy program.
Wszystko pięknie tylko po kompilacji wyświetla ci błąd:

Command line error D8016 : '/MT' and '/clr:pure' command-line options are incompatible
I co z tym fantem?
Po krótkich poszukiwaniach dowiedziałem się że powyższa rada nie działa z WFA czyli z Windows Forms Application, czego w wersjach wyższych (płatnych) alternatywą jest framework MFC.
A więc zostaje dołączenie bibliotek do programu, jak to zrobić opisane jest na wikipedii warsztatu z tym że zamiast bibliotek: msvcp80.dll, msvcm80.dll, msvcr80.dll dla wersji 2008 trzeba dołączyć msvcp90.dll, msvcm90.dll, msvcr90.dll ;p

Brak komentarzy:

Prześlij komentarz