elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Compilar y ejecutar sin necesidad de tener las .DLL'S
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Compilar y ejecutar sin necesidad de tener las .DLL'S  (Leído 2,496 veces)
#Aitor

Desconectado Desconectado

Mensajes: 173



Ver Perfil
Compilar y ejecutar sin necesidad de tener las .DLL'S
« en: 17 Febrero 2018, 16:27 pm »

Pues eso, uso Codeblocks y creé un ahorcado todo cutre, la cosa está en que usé algunas librerias como la de vectores, la de ficheros, etc...

Mi pc puede ejecutar el programa sin problema, pero otros compañeros requieren de algunas .DLL.

¿Hay alguna forma de expotar el programa con todo ello incluido para no necesitar meter todas las DLL que se vayan pidiendo? Gracias.


En línea

Mi algoritmo en PHP (estupideces y más).
Código
  1. while($Se_feliz){
  2.  Piensa_un_OBJETIVO(); // Sin excusas!
  3.  if($Tienes_un_objetivo){
  4.    Suspira(); // Sé paciente.
  5.    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
  6.      //RETURN; ¿O volvemos a empezar?
  7.    }else{
  8.      Inténtalo_de_nuevo();
  9.    }
  10.  }
  11. }
vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Compilar y ejecutar sin necesidad de tener las .DLL'S
« Respuesta #1 en: 17 Febrero 2018, 19:09 pm »

Normalmente las librerías deberían estar configurada para que cuando mude el tipo de proyecto para relesed, como en la siguiente imagen, debería solucionar el problema:


Si no de una leída aquí:
https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw

Puede dar una mirada aquí también, hay una explicación en castellano:
https://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm#4.Enlazado

Básicamente para compilar de forma estática(dll adjuntos), en consola bastaría hacer algo como eso:
Código
  1. gcc -static -o circulo circulo.c
Su programa está compilando de forma dinámica por eso no incluye los dll dentro.

Para no tener que estar poniendo -static todo el tiempo en linea de comandos, o cuando usas el botón "compile" de Code::blocks, vete a la pestaña Settings/Compiler Settings...


E en la pestaña Other compiler settings:


...Escriba -static, con eso verás que al compilar sale -static en la linea que genera el codeblocks al compilar, como en la foto:


Básicamente cualquier comando puede ser inserido ahí de los que ves en la primera página que he puesto, y muchos otros, eso terá efecto em todos los programas que compiles de ahí adelante.

Espero que le ayude.

Seurte

Otra cosa más... Siempre de una mirada en la documentación de las bibliotecas que uses para saber como linkar de forma correcta, estática o dinámicamente, esas explicaciones que puse son para las bibliotecas padrón, las que no son padrón pueden variar algo.


En línea

#Aitor

Desconectado Desconectado

Mensajes: 173



Ver Perfil
Re: Compilar y ejecutar sin necesidad de tener las .DLL'S
« Respuesta #2 en: 24 Febrero 2018, 19:28 pm »

Normalmente las librerías deberían estar configurada para que cuando mude el tipo de proyecto para relesed, como en la siguiente imagen, debería solucionar el problema:


Si no de una leída aquí:
https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw

Puede dar una mirada aquí también, hay una explicación en castellano:
https://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm#4.Enlazado

Básicamente para compilar de forma estática(dll adjuntos), en consola bastaría hacer algo como eso:
Código
  1. gcc -static -o circulo circulo.c
Su programa está compilando de forma dinámica por eso no incluye los dll dentro.

Para no tener que estar poniendo -static todo el tiempo en linea de comandos, o cuando usas el botón "compile" de Code::blocks, vete a la pestaña Settings/Compiler Settings...


E en la pestaña Other compiler settings:


...Escriba -static, con eso verás que al compilar sale -static en la linea que genera el codeblocks al compilar, como en la foto:


Básicamente cualquier comando puede ser inserido ahí de los que ves en la primera página que he puesto, y muchos otros, eso terá efecto em todos los programas que compiles de ahí adelante.

Espero que le ayude.

Seurte

Otra cosa más... Siempre de una mirada en la documentación de las bibliotecas que uses para saber como linkar de forma correcta, estática o dinámicamente, esas explicaciones que puse son para las bibliotecas padrón, las que no son padrón pueden variar algo.


Buenas, lamento responder tan tarde, y gracias por tu ayuda!

La primera opción, no me deja cambiarla, está desabilitada y no aparece ningún texto Debug/Release.

En cuánto a la segunda opción, he probado pero el error perdura, tras incluso incluir las DLL a mano, lanza un error sobre un problema con vinculos dinámicos.

Gracias y lamento las molestias.
En línea

Mi algoritmo en PHP (estupideces y más).
Código
  1. while($Se_feliz){
  2.  Piensa_un_OBJETIVO(); // Sin excusas!
  3.  if($Tienes_un_objetivo){
  4.    Suspira(); // Sé paciente.
  5.    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
  6.      //RETURN; ¿O volvemos a empezar?
  7.    }else{
  8.      Inténtalo_de_nuevo();
  9.    }
  10.  }
  11. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines