libquickmail - コンパイル エラー

libquickmail - コンパイル エラー

C++ プログラムを通じてメールを送信しようとしています。

誰かが libquickmail ライブラリを推奨しました。

しかし、私はそれを本当に理解していないと思います。最初はコマンドラインのみのライブラリだと思っていましたが、それを C++ プログラムで使用する方法はないのでしょうか?

quickmail.h インクルード ファイルを自分のディレクトリに置き、それを cpp ファイルに含めました。さらに、libquickmail-0.dll、libquickmaillight-0.dll、quickmail.exe も自分のフォルダーに置きました。

しかし、メイン ファイルをコンパイルしようとすると、"smtpsocket.cpp" と quickmail.cpp が見つからないという致命的なエラーが発生します。しかし、どこにも含めていません。では、なぜ dll を使用できないのでしょうか。これらのファイルがなくてもコンパイルできるのではないでしょうか。

ご協力いただきありがとうございます。

ああ、ところで私は Linux ではなく Windows を使っています... .a ライブラリファイルはいくつかありますが、残念ながら 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. 構成で「すべての構成」が選択されていることを確認します。そうしないと、現在実行しているモードとは異なるモードでコンパイルしようとしたときにリンク エラーが発生する可能性があります。また、すべてのプラットフォームも選択します。これら 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

関連情報