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

相關內容