我正在尝试创建一个基于Windows的VC++ DLL (在VS 2015中),它静态地链接到卡萨布兰卡CPPREST。也就是说,我想要一个DLL输出,其中包含CPP库和我的代码。
我提到过这条帖子,但它似乎过时了(并且断开了链接):
https://katyscode.wordpress.com/2014/04/01/how-to-statically-link-the-c-rest-sdk-casablanca/
我尝试从GitHub下载Casablanca,并编译生成lib文件的“Casablanca 140静态”项目。问题是,当我将它与我的项目联系起来时,我得到了许多未解决的外部因素。
许多人对上述URL中未解决的链接错误进行了评论.Github上也有很多线程,人们说他们不能将简单的项目与静态库联系起来。
有人有一套清晰的步骤可以帮助解决这个问题吗?
发布于 2017-07-04 16:07:52
好的,为了成功链接到CPP静态库,我汇集了来自不同线程的许多建议,并有以下几个步骤:
现在,在您自己的项目中:
我希望这能帮到别人(我肯定会的)!
发布于 2017-09-22 09:19:52
简单Guy的回答中还有一个补充:如果在项目中使用http_listener类,很可能需要Httpapi.lib来修复链接器错误。
此外,我还想提出一种更简单的编译静态cpprestdk库的方法。我已经成功地使用它在VS2017中构建了我的项目。
vcpkg install cpprestsdk:x86-windows-static
步骤2. vcpkg install cpprestsdk:x64-windows-static享受吧!
发布于 2017-08-06 06:35:02
除了简单Guy所说的,您可能需要将bcrypt.lib添加到链接器->Input->附加依赖项,因为CPPRest中的OAuth1.obj文件依赖于其中的一些函数。
https://stackoverflow.com/questions/44905708
复制相似问题