Autor Wątek: DLL - problem z MT i MD w opcjach projektu.  (Przeczytany 840 razy)

Offline Frondeus

  • Użytkownik

# Sierpień 25, 2010, 22:59:00
Mam 2 projekty:
-DLLke z silnikiem
-"Grę" (w cudzysłowiu gdyż to jest dopiero poligon dla nowycyh metod i featurów )

Ostatnio chciałem uruchomić ją na innym komputerze. Zawsze zmieniałem MD na MT ( w Release)  i działało bez problemów. Teraz jednak mam z tym kłopot.
Aplikacja dostaje zwykłego "Crasha" w dowolnym momencie (raz przy inicjacji okna, raz przy wczytywaniu tekstur).
Próbowałem różnych kombinacji (tylko dll z zmienionym na MT, tylko app, oba) i przy obu na MD działa prawidłowo .
Co może być przyczyną?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kuba D.

  • Użytkownik

# Sierpień 25, 2010, 23:39:35
Zapewne niezainicjowane zmienne czy niezerowane wskaźniki.

Offline Rolek

  • Użytkownik

# Sierpień 26, 2010, 00:47:04
Zwalniasz może pamięć w innym module niż zaalokowałeś?
Przy /MD alokacją i zwalnianiem pamięci zajmuje się któraś z msvc*.dll.
W tym przypadku masz kilka rozwiązań:
  • Zostawisz na /MD i będziesz dołączał redistry.
  • Zwalnianie obiektu oddelegujesz do modułu, w którym powstał.
  • Do alokacji i zwalniania pamięci będziesz używał funkcji systemowych, np. HeapAlloc, HeapFree.

Offline Frondeus

  • Użytkownik

# Sierpień 26, 2010, 01:21:24
Chyba jednak zostanę na MD ;)