Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dodawanie dll do exe

Ostatnio zmodyfikowano 2012-12-23 22:29
Autor Wiadomość
czosnek17
Temat założony przez niniejszego użytkownika
Dodawanie dll do exe
» 2012-12-23 20:00:16
Chcę dodać dll do exe. Trafiłem na takie coś http://furrydev.wordpress.com/2012/01/20 /laczenie-dll-i-exe-w-jeden-plik/, ale otrzymałem jakiś dziwny windowsowy plik, który po uruchomieniu pomnażał się w procesach i musiałem się wylogować, żeby to zatrzymać. Jedynym sposobem jest tu chyba kompilacja statyczna. Dlaczego nikt w internecie nie raczy tego wytłumaczyć? Może ktoś to zrobić? Używam Code Blocks. Da się tym linkowaniem dołączyć też pliki png i txt?
P-71780
DejaVu
» 2012-12-23 20:13:22
Cóż... w zasadzie to niezbyt precyzyjnie określiłeś swój problem patrząc z punktu technologicznego. Jeżeli dobrze zrozumiałem, Twoim celem jest utworzenie aplikacji *.exe, która nie będzie potrzebowała dodatkowych plików *.dll, aby możliwe było jej uruchomienie. Jeżeli o to Ci chodzi to:
1) skompiluj  w trybie statycznym ze źródeł bibliotekę, która obecnie ma postać *.dll.
2) W wyniku kompilacji statycznej pojawi się plik *.a (bądź *.lib).
3) Skompilowany plik *.a (bądź *.lib) dołączasz w opcjach linkera (w praktyce tak samo jak trzeba było to zrobić w przypadku *.dll)
4) Kompilujesz i sprawa jest załatwiona.

PS. Wsadzanie plików binarnych do aplikacji to jedno, a kompilacja statyczna to co innego. Rozwiąż najpierw jeden problem, a potem załóż osobny temat do drugiego problemu (które tak na dobrą sprawę wielokrotnie były rozwiązywane na naszym forum, a więc wystarczy ich poszukać).

@down: źle swoje zdanie logicznie poskładałeś :P (tak w zasadzie to napisałeś na odwrót niż to co chce osiągnąć)
P-71783
Mrovqa
» 2012-12-23 20:14:48
Jeżeli chcesz dll mieć zlinkowane statycznie, a nie dynamicznie - czyli bez dll - to linkuj dynamicznie statycznie. Natomiast jeśli chcesz dowolne pliki umieścić we wnętrzu pliku wykonywalnego, by móc je np. wczytać to poczytaj o zasobach (na tej stronie kurs WinAPI).

@up Fakt. Po tylu godzinach męczenia się z Apache, PHP i MySQL człowiek w ogóle już nie myśli :/
P-71784
czosnek17
Temat założony przez niniejszego użytkownika
» 2012-12-23 20:35:31
Jeżeli dobrze zrozumiałem, Twoim celem jest utworzenie aplikacji *.exe, która nie będzie potrzebowała dodatkowych plików *.dll, aby możliwe było jej uruchomienie.
Tak, o to chodzi.

1) skompiluj  w trybie statycznym ze źródeł bibliotekę, która obecnie ma postać *.dll.
Ehh... jak to się robi? Potrzebne są do tego tylko dll?
P-71791
DejaVu
» 2012-12-23 21:25:48
Ściągasz źródła danej biblioteki i kompilujesz je przy pomocy kompilatora, którego używasz do projektów (to tak w skrócie).

Frazy, które należy wpisać w wyszukiwarkę google:

/edit:
Dodam jeszcze, że samodzielna kompilacja bibliotek jest często drogą przez mękę nawet dla doświadczonego programisty.
P-71799
czosnek17
Temat założony przez niniejszego użytkownika
» 2012-12-23 22:00:05
Dodam jeszcze, że samodzielna kompilacja bibliotek jest często drogą przez mękę nawet dla doświadczonego programisty.
O nie... Dzięki za ostrzeżenie :), podaruję sobie to. W lekcji, o której mówił Mrovqa jest link do ciekawego programu.
Ale dlaczego nie ma już skompilowanych statycznie popularnych bibliotek do pobrania?
P-71808
DejaVu
» 2012-12-23 22:29:39
Do niektórych bibliotek są, do niektórych bibliotek nie ma, bo licencja zabrania. Poza tym większość programistów jest leniwa, bądź nie potrafi sobie skompilować statycznie bibliotek, co w praktyce przekłada się na formę promowania bibliotek, których użyłeś w swoim projekcie.
P-71817
« 1 »
  Strona 1 z 1