Mam projekt w moim IDE. Muszę udostępnić jej wspólną bibliotekę do wykorzystania w rozszerzeniach. Nie chcę tworzyć kopii tego projektu z ustawieniami biblioteki współdzielonej. Czy istnieje sposób na zbudowanie wspólnej biblioteki przy użyciu plików obiektów (.o) z mojego już istniejącego projektu? Jak rozumiem, mogę napisać plik Makefile.Tworzenie udostępnianej biblioteki z istniejących plików obiektów
8
A
Odpowiedz
13
Zakładam, że jesteś na jakimś Unix i prawdopodobnie za pomocą toolchain GNU. W takim przypadku, aby utworzyć odpowiednią bibliotekę współużytkowaną, musisz skompilować swój kod, używając niezależnych od pozycji flag (-fpic lub -fPIC), zanim będziesz mógł utworzyć bibliotekę współdzieloną. O ile twoje pliki .o nie są już skompilowane z tymi flagami, prawdopodobnie nie skończysz z działającą wspólną biblioteką.
Jeśli są już skompilowane dla kodu niezależnego od pozycji, zwykły g++ -shared ...
powinien załatwić sprawę.
7
g++ -shared -fPIC -o myshared.so *.o
Powiązane problemy
- 1. Dołączanie obiektów do istniejących obiektów
- 2. Tworzenie plików obiektów CUDA przy użyciu cmake
- 3. Tworzenie instancji sklearn.linear_model.LogisticRegression z istniejących współczynników
- 4. Tworzenie obiektów za pomocą Guavy z plików właściwości
- 5. Mapowanie xjc JAXB do istniejących obiektów domeny
- 6. Tworzenie niezmiennych obiektów z javabean
- 7. Tworzenie miniaturek z plików wideo z Pythonem
- 8. Chcę wyczyścić wartość udostępnianej preferencji
- 9. Generowanie pliku .proto z istniejących obiektów Java lub xsd
- 10. Odzyskiwanie plików z obiektów Git
- 11. Kopiowanie tylko istniejących plików za pomocą robocopy
- 12. Tworzenie bezpiecznej biblioteki C
- 13. Tworzenie obiektów w GenericObjectPool
- 14. Ręczne tworzenie struktury z biblioteki statycznej
- 15. Tworzenie pliku biblioteki Java z IntelliJ IDEA
- 16. Tworzenie instancji obiektów pochodnych z klasy bazowej
- 17. Java - tworzenie obiektów z parami klucz/wartość?
- 18. Rubinowe biblioteki plików ogólnych
- 19. Tworzenie biblioteki statycznej dla iPhone'a
- 20. Tworzenie biblioteki statycznej w monotouch
- 21. Jak uzyskać listę istniejących obiektów (tabel) w danych podstawowych
- 22. Co służy funkcja Collection.Contains() do sprawdzania istniejących obiektów?
- 23. Tworzenie obiektów w pamięci współdzielonej C++
- 24. tworzenie tablic obiektów w javascript
- 25. Tworzenie skrótu dla obiektów arbitralnych?
- 26. Tworzenie listy ArrayList obiektów niestandardowych
- 27. Tworzenie tablicy obiektów w Javie
- 28. Tworzenie plików niemodyfikowalnych
- 29. Tworzenie testów dla obiektów poco
- 30. Tworzenie obiektów C++ i konstruktor
+1 Zapomniałem wspomnieć, że pliki obiektowe również wymagają fpic. – pajton
@pajton - Zgadnij kto został przez to złapany :). –