Estoy buscando una manera de insertar archivos de texto en mis binarios (como el sistema de recursos de Windows). Necesito algo que también sea independiente de la plataforma (funciona en Windows y Linux). Encontré que la administración de recursos de Qt es lo que necesito, pero no estoy interesado en mi aplicación dependiendo de Qt solo por esto. También encontré esta herramienta en http://www.taniwha.com/~paul/res/ ... pero es demasiado específica de la plataforma.Administración de recursos independiente de plataforma
Respuesta
Si está utilizando QT 4.5, puede asegurarse de que el programa solo dependa de una pequeña porción de QT, como libqtcore. QResource es una parte de libqtcore.
Eso no es una gran idea. En Linux, por ejemplo, se espera que los datos se instalen en un subdirectorio de "$ datadir" que, de forma predeterminada, se define como "$ prefijo/compartir", donde "$ prefijo" es el prefijo de instalación. En Mac OS X, se espera que los recursos se instalen en $ appbundle/Contents/Resources, donde $ appbundle es el nombre de la carpeta que termina en ".app". En Windows, la instalación de datos en una carpeta que es un hermano del ejecutable no es una práctica poco común. Puede ser mejor utilizar el sistema de compilación CMake y utilizar sus características de embalaje CPack para instalar/agrupar de forma predeterminada y preferida.
Si bien agrupar sus recursos en el ejecutable, puede parecer genial, en realidad es una idea peligrosa ... por ejemplo, ¿se asignarán los datos incrustados en una página ejecutable? ¿Qué sucederá si intenta sobrescribir o modificar los datos? ¿Qué sucede si desea ajustar o modificar los datos en tiempo de ejecución? Cosas en que pensar
La utilidad xxd
se puede utilizar para crear un archivo de origen C, que contiene sus blobs binarios como una matriz (con la opción de línea de comando -i
). Puede compilar eso a un objeto que está vinculado a su ejecutable.
xxd
debe ser portátil para la mayoría de las plataformas.
Puede agregar simlpy todo tipo de datos a su binario normal. Funciona tanto en Windows como en Linux. Tendrás que abrir tu propio binario en tiempo de ejecución y leer los datos desde allí.
Sin embargo, tengo que aceptar que incrustar datos en binarios es una idea extraña. Es una práctica común incluir tales datos como archivos separados empaquetados con la aplicación.
Esto se ve muy prometedor: https://github.com/cyrilcode/embed-resource
CMake basada y independiente de la plataforma.
- 1. Sistema de recursos independiente de plataforma (como el sistema de recursos de Qt)
- 2. ruta de concatenación - plataforma independiente - "/", "\"
- 3. ¿La plataforma WCF es independiente?
- 4. SFTP en Python? (plataforma independiente)
- 5. ¿La plataforma de archivos objeto es independiente?
- 6. Jenkins: administración de un grupo de recursos
- 7. ¿Por qué la JVM no es independiente de la plataforma, dado que Java (el idioma) es independiente de la plataforma?
- 8. Administración de recursos en un proyecto de Python
- 9. Generación de GUID independiente de la plataforma en C++?
- 10. Mapeo de la memoria independiente de la plataforma [archivo] IO
- 11. de manipulación específicas de Windows en una plataforma independiente manera
- 12. Biblioteca independiente de administración de usuarios que admite Doctrine ORM?
- 13. C++: impresión de corazón y diamantes ASCII con plataforma independiente
- 14. #ifdef DEPURACIÓN con CMake independiente de la plataforma
- 15. Independiente de la plataforma/dev/null en C++
- 16. receptor independiente de la plataforma/dev/null para Java
- 17. Plataforma independiente size_t Formatos de formato en c?
- 18. Problema de recursos de administración activa de Rails
- 19. Administración de configuración centralizada
- 20. Confusión en la administración de recursos de C++/CLI
- 21. Administración de memoria/recursos usando MonoTouch y MonoTouch.Dialog
- 22. Es C++ como la administración de recursos posible en Java
- 23. Reemplazar el icono en Windows * .exe del código Java independiente de la plataforma de fuente abierta
- 24. Idiomas independientes de plataforma
- 25. ¿Cómo usar la función de conjunto de nodos de una manera independiente de la plataforma?
- 26. Pasar variables de entorno a una JVM, de manera independiente de la plataforma
- 27. Forma independiente de la plataforma para obtener el valor máximo de flotación de C++
- 28. ¿Cuál es la mejor manera de diseñar un servidor GWT "independiente de la plataforma"?
- 29. ¿La aritmética "doble" de .NET es independiente de la plataforma/arquitectura?
- 30. Use el enhebrado y las tomas en C de una manera independiente de la plataforma
[Incrustar recursos en ejecutable usando GCC] (https://stackoverflow.com/questions/4158900/embedding-resources-in-executable-using-gcc) – user