Tengo un proyecto en mi IDE. Necesito hacer una biblioteca compartida para usar en extensiones. No quiero hacer una copia de este proyecto con la configuración de biblioteca compartida. ¿Hay alguna forma de crear una biblioteca compartida utilizando los archivos de objeto (.o) de mi proyecto ya existente? Según entiendo, puedo escribir un archivo MAKE para esto.Creación de una biblioteca compartida a partir de archivos de objetos existentes
8
A
Respuesta
13
Asumo que estás en algún tipo de Unix y probablemente está utilizando las herramientas GNU. En ese caso, para crear una biblioteca compartida adecuada, necesitaría compilar su código utilizando los indicadores de código independientes de posición (-fpic o -fPIC) antes de poder crear una biblioteca compartida. A menos que sus archivos .o ya estén compilados con esos indicadores, es probable que no termine con una biblioteca compartida que funcione.
Si ya están compilados para el código de posición independiente, el g++ -shared ...
habitual debería hacer el truco.
7
g++ -shared -fPIC -o myshared.so *.o
Cuestiones relacionadas
- 1. Generación de archivos .proto a partir de objetos Java existentes o xsd
- 2. Creación de instancias de objetos en memoria compartida C++
- 3. Creación de objetos BSON a partir de la cadena JSON
- 4. Creación de objetos con Guava a partir de los archivos de propiedades
- 5. Agregar objetos a objetos existentes
- 6. ¿Convertir una biblioteca estática a una biblioteca compartida?
- 7. Convierta una biblioteca estática a una biblioteca compartida (cree libsome.so de libsome.a): ¿dónde están mis símbolos?
- 8. Biblioteca de pantalla compartida
- 9. Biblioteca compartida dinámica de C++ en Linux
- 10. Vinculación de dependencias de una biblioteca compartida
- 11. Cómo exportar símbolos de una biblioteca compartida
- 12. Objetos de Python de objetos existentes usando __new__
- 13. Cargar copias múltiples de una biblioteca compartida
- 14. Vinculación de una biblioteca compartida mediante gcc
- 15. Creación automatizada de PDF a partir de la dirección URL
- 16. Compilar una biblioteca compartida estáticamente
- 17. Generar clases de Java a partir de archivos .XSD ...?
- 18. Biblioteca PHP para generar archivos xdot a partir de archivos de puntos
- 19. proyecto nativa de Android que hacen referencia a la biblioteca compartida de C++ proyecto de biblioteca
- 20. Biblioteca compartida de C++ llamada desde C
- 21. gcov: produciendo salida .gcda de una biblioteca compartida?
- 22. Cómo forzar a los símbolos de una biblioteca estática a ser incluidos en una compilación de biblioteca compartida?
- 23. Creación de cadenas inseguras a partir de char []
- 24. ¿Cómo llamar a una función desde una biblioteca compartida?
- 25. Creación de objetos inmutables utilizandoJAXB
- 26. Cómo inicializar una biblioteca compartida en Linux
- 27. Creación de objetos Python
- 28. Creación de videos a partir de series de imágenes?
- 29. Ruta de biblioteca compartida como directorio ejecutable
- 30. ABAP: sincronización de objetos de memoria compartida
+1 Olvidé mencionar que los archivos objeto también necesitan fpic. – pajton
@pajton - Adivina quién ha sido atrapado por esto antes :). –