libquickmail-编译错误

libquickmail-编译错误

我正在尝试通过 C++ 程序发送一些邮件。

有人推荐 libquickmail 库。

但我认为我真的不明白..首先我以为它是一个仅限命令行的库,但没有办法在我的 c++ 程序中使用它吗?

我将 quickmail.h 包含文件放在我的目录中,并将其包含在我的 cpp 文件中。此外,我还将 libquickmail-0.dll、libquickmaillight-0.dll 和 quickmail.exe 放在我的文件夹中。

但每当我尝试编译主文件时,我都会收到致命错误,即缺少“smtpsocket.cpp”和 quickmail.cpp。但我没有在任何地方包含它!那么为什么我不能只使用 dll。如果没有这些文件,它难道不应该可以编译吗?

感谢您的帮助。

哦,顺便说一下,我用的是 Windows,不是 Linux... 有几个 .a lib 文件,但遗憾的是没有 quickmail.lib 或类似的东西

编辑1:

按照 Pavel Skipenes 的建议操作后,我收到以下错误:

"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"

答案1

尝试以下操作:
1. 转到项目 -> 项目属性 -> 配置属性 -> 链接器 -> 附加库目录链接器将在此字段中查找您的 .dll 文件。在此添加您的 .dll 文件的路径。2
. 确保您已在配置下选择“所有配置”,否则当您尝试以与当前运行模式不同的模式进行编译时,可能会出现链接错误。并选择所有平台。这两个选项位于项目属性页下窗口的顶部。3
. 转到配置属性 -> 链接器 -> 输入 -> 附加依赖项在这里您应该附加当前缺失的 .dll 的名称。请确保不要删除现在的内容。4
. 编译并链接您的项目。

如果出现任何错误,请使用输出窗口中的错误消息更新您的帖子。

答案2

libquickmail 是使用 MinGW-w64 为 Windows 构建的,并附带 MinGW-w64.a库文件。

如果您使用 MSVC,那么您需要一个.lib库文件。

请看一下:https://stackoverflow.com/questions/9360280/how-to-make-a-lib-file-when-have-a-dll-file-and-a-header-file

相关内容