
Estoy intentando enviar algunos correos a través de un programa C++.
Alguien recomendó la biblioteca libquickmail.
Pero creo que realmente no lo entiendo. Primero pensé que es una biblioteca de línea de comandos únicamente, pero ¿no hay alguna manera de usarla en mi programa C++?
Puse el archivo de inclusión Quickmail.h en mi directorio y lo incluí en mi archivo cpp. Además de eso, también puse libquickmail-0.dll, libquickmaillight-0.dll y quickmail.exe en mi carpeta.
Pero cada vez que intento compilar el archivo principal aparece el error fatal de que faltan "smtpsocket.cpp" y quickmail.cpp. ¡Pero no lo incluyo en ninguna parte! Entonces, ¿por qué no puedo simplemente usar la DLL? ¿No debería ser compilable sin estos archivos?
Gracias por tu ayuda.
Ah, y por cierto, estoy usando Windows, no Linux... Hay algunos archivos .a lib, pero lamentablemente no hay Quickmail.lib o algo similar.
Edición 1:
Después de hacer lo que recomendó Pavel Skipenes, aparece el siguiente error:
"libquickmail-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"
"libquickmaillight-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"
Respuesta1
Pruebe esto:
1. Vaya a Proyecto -> Propiedades del proyecto -> Propiedades de configuración -> Vinculador -> Directorios de biblioteca adicionales. Este campo es donde el vinculador buscará sus archivos .dll. Agregue la ruta a sus archivos .dll allí.
2. Asegúrese de haber seleccionado en configuración "todas las configuraciones", de lo contrario podría obtener un error de vinculación al intentar compilar en un modo diferente al que está ejecutando actualmente. Y seleccione todas las plataformas también. Esas dos opciones se encuentran en la parte superior de la ventana, en las páginas de propiedades del proyecto.
3. Vaya a propiedades de configuración -> Vinculador -> Entrada -> Dependencias adicionales Aquí deberíaadjuntarlos nombres de los archivos .dll que faltan actualmente. Asegúrate de no borrar lo que hay ahora.
4. Compile y vincule su proyecto.
Si recibe algún error, actualice su publicación con un mensaje de error desde la ventana de salida.
Respuesta2
libquickmail fue creado para Windows con MinGW-w64 y viene con .a
archivos de biblioteca MinGW-w64.
Si está utilizando MSVC, entonces necesita un .lib
archivo de biblioteca.
Por favor echa un vistazo a:https://stackoverflow.com/questions/9360280/how-to-make-a-lib-file-when-have-a-dll-file-and-a-header-file