Bug #2833
closedhttp::server::buffer_string::icontains link error with WT 3.3.2
0%
Description
hello,
I was previously using wt 3.2.3 for development of an application. I just switched over to wt3.3.2 and am now experienceing the following link error:
error LNK2019: unresolved external symbol __imp_StrStrIA referenced in function "public: bool __cdecl http::server::buffer_string::icontains(char const *)const " (?icontainsbuffer\_string@server@http@@QEBA\_NPEBD
Z)
Any guidance as to how to resolve this issue would be greatly appreciated.
Thanks
Updated by Eivind Midtgård over 10 years ago
You need to link with shlwapi.lib
Regards,
Eivind
Updated by Cynthia Donato over 10 years ago
thank you that fixed the issue.
Much appreciated :)
Updated by Koen Deforche over 10 years ago
- Status changed from New to InProgress
- Assignee set to Wim Dumon
- Target version set to 3.3.3
Is this something we should add in the linking of wthttpd?
Updated by Cynthia Donato over 10 years ago
Adding the shlwapi.lib to my qmake file solved the issue. I believe it should be added to the linking of the wthttpd but in my case it's not a show stopper.
Updated by Eivind Midtgård over 10 years ago
Why not use boost::icontains and boost::iequals instead of strcasestr and strcasecmp?
Updated by Wim Dumon over 10 years ago
The reason why we changed it is performance. This should be a pure ASCII strstr, so locales don't matter.
BR,
Wim.
Updated by Boris Savelev over 10 years ago
Wim Dumon wrote:
The reason why we changed it is performance. This should be a pure ASCII strstr, so locales don't matter.
BR,
Wim.
Hello!
Using `strcasestr` will brake compilation on Solaris (Solaris haven't strcasestr)
Updated by Wim Dumon over 10 years ago
- Status changed from InProgress to Resolved
since these functions cause such headaches, I modified the code to use boost methods unless we know they exist. Their existance is tested by cmake.
The 'performance issue' is not really an issue after all, only makes Wt better for benchmarks.
Wim.
Updated by Koen Deforche over 10 years ago
- Status changed from Resolved to Closed