Necesito ayuda para escribir código multiplataforma; no es una aplicación, sino una biblioteca.Bibliotecas dinámicas de plataforma cruzada C++; Linux y Windows
Estoy creando una biblioteca tanto estática como dinámica con la mayor parte del desarrollo hecho en Linux, tengo la biblioteca estática y compartida generada en Linux pero ahora quería generar una versión de Windows de una biblioteca estática y dinámica en el formulario de .lib
y .dll
usando el mismo código fuente.
¿Esto es posible? Estoy un poco preocupado porque noté que es necesario generar archivos de Windows .dll
usando _dllspec
o algo similar en su código fuente.
Si no, alguien me puede aconsejar la mejor y más rápida solución para obtener mi código compilado en Windows. No necesito hacer la compilación en Linux. Me complace hacerlo directamente en Windows. También estoy usando dos bibliotecas externas que son boost y Xerces XML que he instalado tanto en mi sistema Windows como en Linux, así que espero que no sean un problema.
Lo que realmente quiero es tener una única copia de código fuente que pueda compilarse tanto en Linux como en Windows para generar bibliotecas específicas para cada plataforma. Realmente no me importa si tengo que editar mi código a favor de Windows o Linux, siempre que pueda tener una única copia del código fuente.
La compilación cruzada generalmente se refiere al software de construcción en una plataforma que se ejecutará en otra. Como dice que quiere un código fuente que pueda compilarse tanto en Linux como en Windows, entonces su pregunta es más acerca de cómo escribir una base de código fuente portátil y multiplataforma que sobre la compilación cruzada. –
GIYF En realidad, en este caso, libtool es tu amigo ... –
Mientras esperas respuestas, revisa CMake: http://www.cmake.org/ – Pete