Autor Wątek: Biblioteka z DirectX - Projekt bez  (Przeczytany 1021 razy)

Offline Ogniok

  • Użytkownik

# Luty 26, 2012, 10:59:26
Witam.

Z góry przepraszam, za dziwną nazwę tematu, ale nie miałem pomysłu jak go nazwać. :D

Ale przejdźmy do sedna. Już od dłuższego czasu intryguje mnie pewna rzecz w kodzie Esenthel Engine. W plikach nagłówkowych nigdzie nie ma deklaracji jakiegokolwiek obiektu z biblioteki DirectX. Nie jest ona także linkowana do projektu, więc można budować aplikacje z użyciem DirectX bez potrzeby posiadania tej biblioteki i plików nagłówkowych. Pytanie brzmi, jak to osiągnął?

Jedyne co mi przychodzi na myśl, to sposób, iż w kodzie silnika linkuje bibliotekę DirectX'a, i mam nagłówki tylko dla silnika, i nagłówki które użytkownik silnika dołącza do swojego projektu. Wszelkie deklaracje obiektów DirectX'a, wywołania itp. umieszczam w plikach C++ i plikach nagłówkowych tylko dla silnika.

Czy to by działało? Może da się to rozwiązać jakoś lepiej?

Z góry dziękuje za odpowiedź.

Offline Mr. Spam

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

Offline Xirdus

  • Redaktor

# Luty 26, 2012, 11:24:10
Powinno działać. Problem może się zrodzić, kiedy będziesz miał dwie różne biblioteki korzystające z DirectX.

Offline Ogniok

  • Użytkownik

# Luty 26, 2012, 11:31:47
To znaczy?

Offline Xirdus

  • Redaktor

# Luty 26, 2012, 11:54:30
Piszesz swój program, i linkujesz do niego biblioteki A i B. Każda z nich jest statycznie zlinkowana z DirectX. Koniec końców masz w swoim projekcie dwie potencjalnie różne wersje DirectX. Być może będzie to powodować problemy - ale może też nie powodować żadnych problemów. Wszystko zależy od specyfiki linkera.

Offline Ogniok

  • Użytkownik

# Luty 26, 2012, 12:05:12
Aha, rozumiem.

Dzięki za odpowiedź.