3

現在、Qt アプリケーションで Crypto++ を実行しようとしています。しかし、うまくいきません。私はそれを理解していないので、あなたの誰かが何が悪いのか知っていることを願っています.3日間これに取り組んでいます.

問題を集中させるために、テスト アプリを作成しました。このコードを保持: http://programmingknowledgeblog.blogspot.de/2013/04/compiling-and-integrating-crypto-into.htmlから取得したhttp://pastebin.com/1XMARtds

私の .pro は次のようになります。

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../Savor_V100/libraries/ -lcryptlib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../Savor_V100/libraries/ -lcryptlibd
else:unix: LIBS += -L$$PWD/../Savor_V100/libraries/ -lcryptlib

INCLUDEPATH += $$PWD/../Savor_V100/includes/cryptopp562
DEPENDPATH += $$PWD/../Savor_V100/includes/cryptopp562

MS Visual Studio 2012 でライブラリをコンパイルしました。これらの設定を使用する場合: http://i.imgur.com/Nd9TEIA.png

単一の 50 MB っぽい .lib ファイルを取得します。

その後、Qt Creator (5.0.2) でアプリケーションをビルドしようとすると、次のようになります: http://i.imgur.com/RbCGQDU.png

たくさんの:

cryptlib.lib(cryptlib.obj):-1: error: LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj

また、次のようにも表示されます: ファイルが見つかりません: cryptlib.lib(cryptlib.obj)

.obj ファイルを .lib ファイルと同じフォルダーに配置すると、「ファイルが見つかりません」というエラーが表示されなくなります。しかし、それ以外は何も変わりません。

誰かが私が間違っていることを説明してもらえますか? Web サイトの LNK2038 情報は役に立ちません:(

4

2 に答える 2

1

Linux で crypto++ を実行したい場合 (私は ubuntu で実行しました)、apt-get install でライブラリをダウンロードした後、次のように pro ファイルに追加する必要があります:
LIBS += -L/usr/lib/crypto++ -lcrypto++ 頑張ってください!

于 2013-10-18T15:37:19.103 に答える