[Solucionado]Problemas al enlazar (Irvine)

Iniciado por .:UND3R:., 29 Noviembre 2011, 18:15 PM

0 Miembros y 3 Visitantes están viendo este tema.

.:UND3R:.

Hola a todos, bueno les cuento estoy con IDE RadASM, poseo el siguiente código:

Código (asm) [Seleccionar]
TITLE Pruebas
INCLUDE c:\masm32\include\Irvine32.inc

.data
origen byte 10h,20h,30h,40h
origen2 byte 12h,34h,56h,78h
.code
main PROC
    mov ax,word PTR [origen]
    mov ax,word PTR [origen2]
    call DumpRegs
    exit
main ENDP
END main


Cuando coloco TOOLS->MASM32->BUILD

el código de objeto se genera sin ningún problema, pero en cuanto se quiere enlazar las bibliotecas de enlace me marca el siguiente error:
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

prueba2.obj : error LNK2001: unresolved external symbol _ExitProcess@4
prueba2.obj : error LNK2001: unresolved external symbol _DumpRegs@0
prueba2.exe : fatal error LNK1120: 2 unresolved externals
_
Link error
Presione una tecla para continuar . . .


En cuanto uso la bibliotecas de enlace de MS-Windows (kernel32.lib) y el INCLUDE kernel32.inc no tengo problema alguno.

Lo que poseo dentro de c:\masm32\include\ y \lib\ es lo siguiente:
SmallWin.inc
Irvine32.inc
Irvine16.inc
Irvine36.lib
Irvine16.lib
kernel32.lib


He intentado colocar las correspondientes lib en el path include (junto con las .inc) y en lib las include (junto con las .lib correspondientes)

y de ninguna forma consigo poder generar el ejectuable, si alguien me pudiera decir como se puede ensamblar y enlazar el codigo que adjunté se lo agradecería
entiendo que la librebría Irvine son parte de un libro pero las utilizo por que me estoy iniciando en la programación ASM

Muchas gracias

Solución se deben incluir las siguientes librerías:
Código (asm) [Seleccionar]
INCLUDELIB c:\masm32\include\Irvine32.lib
INCLUDELIB c:\masm32\include\Kernel32.lib
INCLUDELIB c:\masm32\include\User32.lib


esta se colocan después de INCLUDE c:\masm32\include\Irvine32.inc

¿El porqué?
El motivo se da que en el libro se utiliza Irvine32.inc este archivo contiene prototipos de procedimientos de la biblioteca Irvine32.lib y esta biblioteca se encarga de enlazarse con Kernel32.lib y User32.lib dependiendo del procedimiento.

El primer error ocurrió debido a que exit es equivalente a la API MS-Windows ExitProcess que corresponde a la biblioteca de vínculos dinámicos (Kernel32.lib)
como no estaba incluida ocasionaba el error. En cuanto a DumpRegs ocurrió debido a que no estaba incluida la librería Irvine32.lib

El segundo error ocurrió luego de agregar ambas librerías MessageBox que está dentro de la librería de enlace irvine32.lib esta se enlaza con user32.lib para mostrar mensajes y como no estaba incluida ocasionó el segundo error.





Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Eternal Idol

Despues del include:
Código (asm) [Seleccionar]
includelib c:\masm32\lib\kernel32.lib
includelib c:\masm32\lib\Irvine32.lib
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

.:UND3R:.

Creo que es un avance:
Assembling: C:\DOCUME~1\ADMINI~1\ESCRIT~1\prueba2.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

Irvine32.lib(Irvine32.obj) : error LNK2001: unresolved external symbol _MessageBoxA@16
prueba2.exe : fatal error LNK1120: 1 unresolved externals
_
Link error
Presione una tecla para continuar . . .

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

.:UND3R:.

Cita de: Eternal Idol en 29 Noviembre 2011, 19:45 PM
MessageBox function.

Library
User32.lib

DLL
User32.dll
efectivamente había que incluir la biblioteca de enlace USER32.lib para su funcionamiento así lo solucioné gracias de todas formas
Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Eternal Idol

¿Gracias de todas formas que? Si te dije todo lo que tenias que hacer  :xD
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

.:UND3R:.

Cita de: Eternal Idol en 29 Noviembre 2011, 20:15 PM
¿Gracias de todas formas que? Si te dije todo lo que tenias que hacer  :xD
La segunda no (user32.lib) por que mientras editaba el post me lo respondiste xD

Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

_Enko

Cual es la ventaja de agregar a este tal "Kip Irvine" a tus programas?


digo, porque muy lindo no es :silbar: ;-)

.:UND3R:.

Cita de: _Enko en 29 Noviembre 2011, 20:43 PM
Cual es la ventaja de agregar a este tal "Kip Irvine" a tus programas?


digo, porque muy lindo no es :silbar: ;-)

Efectivamente ya había visto la foto, estoy en desconformidad en cuanto a la enseñanza del libro ya que estoy en el capítulo 5 y comentan que en el 11 se empezarán a utilizar la apis de MS-Windows  :o , lo cual me desespera, sinceramente no le encuentro mucha utilidad de que me acostumbren a usar unas call por así decirlo fáciles en comparación a los parámetros que utiliza las de MS-Windows, pero como me he comprado el libro no puedo desperdiciar tal ahorro.

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

x64core

:D andale .:UND3R:. si has avanzado en el libro ya me voy quedando bien atras x3
yo me e quedado en el capitulo 3 :P ahora le dedicare tiempo y llegare al 4 si es posible :)