【发布时间】:2013-06-12 00:35:21
【问题描述】:
我目前正尝试在我的 Qt 应用程序中运行 Crypto++。但它不起作用。希望你们中的某个人知道出了什么问题,因为我还没有弄清楚,我现在已经做了 3 天了。
为了集中问题,我创建了一个测试应用程序。持有此代码:http://pastebin.com/1XMARtds 取自 http://programmingknowledgeblog.blogspot.de/2013/04/compiling-and-integrating-crypto-into.html
我的 .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
我得到一个 50mb 的 .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 文件相同的文件夹中,我将摆脱“找不到文件”错误。但没有其他任何变化。
有人可以解释我做错了什么吗?网站上的 LNK2038 信息对我没有帮助:(
【问题讨论】:
标签: c++ visual-studio qt visual-c++ crypto++