Fecha y hora actual: Miércoles 26 Sep 2018 03:08
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Compilar wxWidgets en codeblocks de manera estatica, shared=0

Responder al Tema

Índice del Foro > C, C#, Visual C++ > Compilar wxWidgets en codeblocks de manera estatica, shared=0

Autor Mensaje
Nucleorion



Registrado: 04 Ene 2017
Mensajes: 8

Mensaje Publicado: Sábado 14 Ene 2017 13:36

Título del mensaje: Compilar wxWidgets en codeblocks de manera estatica, shared=0

Responder citando

Hola,

Estoy tratando de compilar wxWidgets para cb en windows pero de manera estatica. Lo que quiero es que quede todo en un unico exe y probar tambien a ver si se añaden solo las librerias que necesita para que el archivo ocupe lo justo. por eso pongo el parametro SHARED=0

He leido aqui wiki.wxwidgets.org/WxWidgets_Build_Configurations que MONOLITHIC no se debe poner si SHARED se pone a 0

Entonces compilo con esta linea:
Código:
mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=0 UNICODE=1 CXXFLAGS=-std=gnu++11


Bueno he hecho como unas 7 compilaciones distintas, pero la que creo que deberia ir es esa.

Luego al crear el proyecto elijo esta configuracion.

dropbox.com/s/wyarfg7cbmxis3t/Screenshot-00509-14_01_2017-12_30_40.png?dl=0

Creando el frame de ejemplo que viene y compilando me da este error:
Código:

-------------- Build: Release in b (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -LC:\wxWidgets-3.0.2\lib\gcc_lib -o bin\Release\b.exe obj\Release\bApp.o obj\Release\bMain.o  obj\Release\resource.res -s -mthreads  -lwxmsw30u_richtext -lwxmsw30u_xrc -lwxmsw30u_aui -lwxmsw30u_dbgrid -lwxbase30u_odbc -lwxmsw30u_media -lwxbase30u_net -lwxmsw30u_gl -lwxmsw30u_qa -lwxbase30u_xml -lwxmsw30u_adv -lwxmsw30u_html -lwxmsw30u_core -lwxbase30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows
C:/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw30u_dbgrid
C:/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: cannot find -lwxbase30u_odbc
C:/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw30u_qa
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
4 error(s), 0 warning(s) (0 minute(s), 0 second(s))
 


No encuentro solucion. Leo mucho y veo y pruebo muchas cosas que encuentro en las paginas oficiales y por los foros en ingles, nada me funciona siguiendo las instrucciones y la verdad es que estoy ya un poco desesperado y cuestionando si funciona bien la 3.0.2 con codeblocks.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
CoAdmin


Registrado: 20 Mar 2009
Mensajes: 3136
Ubicación: y*width+x

Mensaje Publicado: Domingo 15 Ene 2017 17:51

Título del mensaje: Compilar wxWidgets en codeblocks de manera estatica, shared=0

Responder citando

Te faltan las tres librerías que cita el log de compilaco¡ón o resultado de compilacion. Bien porque no existen o no las tienes añadidas al proyecto.

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Nucleorion



Registrado: 04 Ene 2017
Mensajes: 8

Mensaje Publicado: Domingo 15 Ene 2017 19:34

Título del mensaje: Compilar wxWidgets en codeblocks de manera estatica, shared=0

Responder citando

Ya he podido construir el proyecto de ventana incial Risa

Y el exe sólo ocupa 7MB, y añadiendo todas las bibliotecas. He probado el exe resultante en windows 7 y windows 10. Sólo copiar pegar y funciona bien.

Utilizo esta línea para compilar:
Código:
mingw32-make -f makefile.gcc SHARED=0 MONOLITHIC=0 BUILD=release UNICODE=1 CXXFLAGS="-std=gnu++11 -fno-keep-inline-dllexport"

Y eliminé los tres archivos confictivos en Build options > Linker settings
Código:

-lwxmsw30u_dbgrid
-lwxbase30u_odbc
-lwxmsw30u_qa


Después he agregado la función de depuración y tambien ha funcionado. Añado la linea y compilo sobre la compilacion anterior
Código:
mingw32-make -f makefile.gcc SHARED=0 MONOLITHIC=0 BUILD=build UNICODE=1 CXXFLAGS="-std=gnu++11 -fno-keep-inline-dllexport"


Después he usado esta configuración para crear un nuevo proyecto:

aplinet.org/aplidat/simages/Nucleorion/Screenshot-00512-15_01_2017-17_42_45.png

aplinet.org/aplidat/simages/Nucleorion/Screenshot-00513-15_01_2017-17_42_52.png

En este caso he omitido las librerias al crear el proyecto.
aplinet.org/aplidat/simages/Nucleorion/Screenshot-00514-15_01_2017-17_43_09.png

Ya funciona pero me gustaria saber mas:

¿Qué es Use_WXDEBUG_and Debug wxwidgets lib?

Y si no agrego las bibliotecas cuando creo el proyecto, ¿Codeblocks me guiara para añadir las librerias cuando agrege una función que no está en las librerias añadidas al crear el proyecto?

Por lo poco que ocupa el exe, parece que aunque añada todas las librerias al crear el proyecto, al compilar solo coge las que haya usado. ¿Sera esto posible?

Muchas gracias Risa

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Usar el control wxWebView de la manera mas simple

Nucleorion C, C#, Visual C++ 1 Viernes 03 Feb 2017 11:26 Ver último mensaje
El foro no contiene ningún mensaje nuevo

hacer un exe portable con codeblocks y las wxwi...

Nucleorion C, C#, Visual C++ 1 Martes 10 Ene 2017 12:01 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Error al compilar para Code Bolcks las wxWidgets

Nucleorion C, C#, Visual C++ 4 Miércoles 04 Ene 2017 21:37 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Error al compilar wxwidgets en codeblocks y win...

WhiteSkull C, C#, Visual C++ 1 Lunes 02 May 2016 21:06 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema al compilar Sharpdevelop

Kaesarus C, C#, Visual C++ 4 Sábado 30 Abr 2016 17:45 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,