drogon
drogon copied to clipboard
Windows下MSVC使用静态库版本的会有链接问题.
我的drogon库是通过vcpkg安装的,安装是没有问题的.如下所示:
PS C:\Users\Admin> vcpkg list|findstr drogon
drogon:x64-windows 1.9.10 A C++14/17 based HTTP web application framework ...
drogon:x64-windows-static 1.9.10 A C++14/17 based HTTP web application framework ...
drogon:x64-windows-static-md 1.9.10 A C++14/17 based HTTP web application framework ...
在编译的时候,会有如下错误的产生:
1>drogon.lib(HttpResponseParser.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpRequestParser.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpFileUploadRequest.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>trantor.lib(Date.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpClientImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpServer.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(StaticFileRouter.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpRequestImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpAppFrameworkImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(AccessLogger.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpResponseImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(Utilities.cc.obj) : error LNK2001: 无法解析的外部符号 __std_search_1
1>drogon.lib(HttpRequestImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpResponseParser.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpRequestParser.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpFileUploadRequest.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpAppFrameworkImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpResponseImpl.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(HttpServer.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(StaticFileRouter.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_end_1
1>drogon.lib(AccessLogger.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_last_trivial_1
1>drogon.lib(HttpUtils.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_last_trivial_1
1>drogon.lib(ConfigLoader.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_last_trivial_1
1>drogon.lib(StaticFileRouter.cc.obj) : error LNK2001: 无法解析的外部符号 __std_find_last_trivial_1
1>trantor.lib(AsyncFileLogger.cc.obj) : error LNK2001: 无法解析的外部符号 _Cnd_timedwait_for_unchecked
我尝试过x64-windows-static-md半静态和x64-windows-static纯静态版本的库. 并且也尝试修改过工程的CRT版本为MT/MD,但是均无生效.
在VS解决方案和CMake工程中都有尝试过,结果均是失败的..
都是存在找不到符号的问题,而__std_search_1函数我搜索得知,该函数好像属于微软写的STL中的内部函数,并没有在任何lib中导出.
所以我该怎么做那?
难道要手拉源码自己去编译嘛..那就丧失了vcpkg包管理的优点了.
我不太确定这是不是属于vcpkg构建port的问题,也不知道vcpkg上drogon库是不是咱们官方提供的,如果是的话,能否修复一下那?
希望drogon越做越好.