Linker jest częścią łańcucha narzędzi do tworzenia plików wykonywalnych z kodu źródłowego napisanego w skompilowanych językach programowania. Pobiera skompilowany kod obiektowy w wielu plikach i tworzy z nich pojedynczy, „połączony”, wykonywalny plik.
Czy można osadzić wcześniej istniejącą bibliotekę DLL w skompilowanym pliku wykonywalnym w języku C # (tak, że masz tylko jeden plik do dystrybucji)? Jeśli to możliwe, jak można to zrobić? Zwykle nie mam nic przeciwko pozostawieniu bibliotek DLL na zewnątrz i skonfigurowaniu programu do obsługi wszystkiego, ale było kilka osób …
Jak działa proces kompilacji i łączenia? (Uwaga: ma to być wpis do często zadawanych pytań na temat C ++ w programie Stack Overflow . Jeśli chcesz skrytykować pomysł podania w tym formularzu odpowiedzi na najczęściej zadawane pytania, to miejsce na publikację na meta, które to wszystko rozpoczęło, byłoby odpowiednim miejscem. …
Brałem udział w debacie dotyczącej bibliotek w systemie Linux i chciałbym potwierdzić pewne rzeczy. W moim rozumieniu (popraw mnie, jeśli się mylę, a później zmodyfikuję swój post), istnieją dwa sposoby korzystania z bibliotek podczas tworzenia aplikacji: Biblioteki statyczne (pliki .a): W czasie łączenia kopia całej biblioteki jest umieszczana w końcowej …
Często słyszę terminy „statycznie powiązane” i „dynamicznie powiązane”, często w odniesieniu do kodu napisanego w C , C ++ lub C # . O czym oni są, o czym dokładnie rozmawiają i co łączą?
To ostrzeżenie: LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library jest dość powszechnym ostrzeżeniem w Visual Studio. Chciałbym zrozumieć dokładny powód i właściwy sposób (jeśli w ogóle), aby sobie z tym poradzić. To pojawia się w kompilacji debugowania /MDd. Projekt jest powiązany z takimi …
Właśnie natrafiłem na następujący błąd (i znalazłem rozwiązanie online, ale nie występuje ono w przepełnieniu stosu): (.gnu.linkonce. [stuff]): niezdefiniowane odniesienie do [metody] [plik obiektowy] :(. gnu.linkonce. [stuff]): niezdefiniowane odniesienie do `typeinfo for [classname] ' Dlaczego można dostać jeden z tych błędów linkera „niezdefiniowane odniesienie do typeinfo”? (Punkty bonusowe, jeśli potrafisz …
Próbuję skompilować kod źródłowy Androida pod Ubuntu 10.04. Pojawia się błąd mówiący: / usr / bin / ld: nie można znaleźć -lz Czy możesz mi powiedzieć, jak mam to naprawić? Co to cannot find -lzznaczy? Oto pełny komunikat o błędzie: external/qemu/Makefile.android:1101: warning: overriding commands for target `external/qemu/android/avd/hw-config-defs.h' external/qemu/Makefile.android:933: warning: ignoring …
Próbuję połączyć aplikację z g ++ w tym systemie Debian lenny. ld skarży się, że nie może znaleźć określonych bibliotek. Konkretnym przykładem jest tutaj ImageMagick, ale mam podobne problemy z kilkoma innymi bibliotekami. Dzwonię do konsolidatora z: g++ -w (..lots of .o files/include directories/etc..) \ -L/usr/lib -lmagic ld narzeka: /usr/bin/ld: …
Czytam o bibliotekach w C, ale nie znalazłem jeszcze wyjaśnienia, czym jest plik obiektowy. Jaka jest prawdziwa różnica między jakimkolwiek innym skompilowanym plikiem a plikiem obiektowym? Byłbym szczęśliwy, gdyby ktoś mógł wyjaśnić w ludzkim języku.
Mam mały fragment kodu, który zależy od wielu bibliotek statycznych (a_1-a_n). Chciałbym spakować ten kod do biblioteki statycznej i udostępnić go innym osobom. Moja biblioteka statyczna, nazwijmy ją X, kompiluje się dobrze. Stworzyłem prosty przykładowy program, który używa funkcji z X, ale kiedy próbuję połączyć go z X, otrzymuję wiele …
Wydaje mi się dziwne, że używa się go -Wl,-Bstaticw celu określenia, z gccktórymi bibliotekami chcę łączyć się statycznie. W końcu podam gccbezpośrednio wszystkie inne informacje o linkowaniu z bibliotekami ( -Ldir, -llibname). Czy można bezpośrednio powiedzieć sterownikowi gcc, które biblioteki powinny być linkowane statycznie? Wyjaśnienie: wiem, że jeśli pewna biblioteka …
Przeczytałem wiele rozwiązań mojego problemu, ale żadne nie pomogło. Próbowałem wyczyścić, odbudować. Ponownie zainstalowałem Visual 2010 i zmień z Professional na Ultimate. Ale nadal nie wiem, dlaczego mam ten błąd. Mój projekt wygląda tak: 1 Rozwiązanie Exe do testowania mojej biblioteki statycznej. 1 Biblioteka statyczna Dll Solution. Kod konwertowany do …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.