Durante la vinculación dinámica aparece una referencia de función indefinida extraña. Sé el nombre de la biblioteca que debe contener esta función. ¿Hay algún comando de Linux para asegurarse de que la función ya exista en la biblioteca (archivo .a)?Comprobación de la existencia de una función en una biblioteca en Linux
Respuesta
Usted debe ser capaz de utilizar nm
(podría requerir el parámetro --demangle
) para obtener una lista de todo dentro de la biblioteca , luego use grep
para filtrar los resultados, por ej. busca \d T functionname\(
o algo así.
La biblioteca tiene el nombre de la función con el prefijo T. Pero el nombre de la función no es exactamente lo que espero. nm encuentra: '0000000000000310 T _Z15lmp_init_deviceiiiiidii' mientras busco lmp_init_device. ¿Se ignoraría el prefijo/sufijo durante la vinculación? – ahmad
Agregue '--demangle' y debería eliminar los caracteres agregados (causados por ser C++ en lugar de C). – Mario
Tenga una mirada a nm
comando que se debe dar a la pieza de información que busca
- 1. Comprobación de existencia de clave en HashMap
- 2. Comprobación de la existencia de archivos en el servidor FTP
- 3. Comprobación de la existencia de una clave en request.args en Flask
- 4. Comprobación de la existencia del objeto en ManyToMany relation (Django)
- 5. ¿Existe una biblioteca de cliente RDP en Linux?
- 6. Identificación de qué biblioteca del sistema Linux contiene una función
- 7. jQuery - comprobación de existencia de elementos
- 8. Cómo inicializar una biblioteca compartida en Linux
- 9. iteración del archivo, comprobación de la existencia de línea
- 10. ¿Cómo compilar una biblioteca estática en Linux?
- 11. ¿Existe una función de biblioteca en Python para convertir una función de generador en una función que devuelve una lista?
- 12. Restricción de símbolos en una biblioteca estática de Linux
- 13. Probando la existencia de un campo en una clase
- 14. Existencia de comprobación de hormigas para un conjunto de archivos
- 15. ¿Detecta la existencia de una cámara en la aplicación iPhone?
- 16. Cargando una biblioteca dinámicamente en Linux o OSX?
- 17. Comprobación de la falta de parámetro en la función
- 18. Comprobación recursiva de átomos en una lista
- 19. PHP: probando la existencia de una celda en una matriz multidimensional
- 20. Encontrar la dirección de carga de una biblioteca compartida en Linux
- 21. Compruebe la existencia de la clave en una matriz multidimensional en javascript
- 22. comprobación de tipos en función Scala
- 23. Comprobar la existencia de la función Streetview de Google
- 24. Hacer LLVM en línea una función desde una biblioteca
- 25. ¿Cómo probar una usabilidad de la biblioteca C++ en configure.in?
- 26. Comprobación de existencia de archivo después de cambiar el nombre de una carpeta devuelve un valor incorrecto en UNC share
- 27. ¿Cómo uso una función de biblioteca Haskell?
- 28. ¿Cómo detectar la existencia de una clase usando SFINAE?
- 29. Biblioteca de comprobación de la intensidad de la contraseña
- 30. múltiples Comprobación contiene en una cadena de
Pruebe 'nm', si su símbolo tiene el prefijo 't' o' T' la lib lo tiene. –
Rohan
[autoconf] (http://www.gnu.org/software/autoconf/) lo hace al verificar la disponibilidad de la biblioteca con ['AC_CHECK_LIB'] (http://www.gnu.org/software/autoconf/manual /autoconf.html#Libraries) función. –