cisco-open-source / qtwebdriver

WebDriver implementation for Qt
https://github.com/cisco-open-source/qtwebdriver/wiki
198 stars 59 forks source link

Build instructions for windows #56

Closed Zitrax closed 7 years ago

Zitrax commented 7 years ago

I tried to build according to https://github.com/cisco-open-source/qtwebdriver/wiki/Build-And-Run on Windows 7. But the output generated is _testwidgets.lib when building wd.sln.

The wiki seem to indicate that I should get a WebDriver.exe to run. How to I build that exe or have I missed something ?

Zitrax commented 7 years ago

Never mind - the real problem was:

error C2338: <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning.

which I first thought was just a warning. After defining _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS. The build went further but I still got one more error:

..\src\third_party\mongoose\mongoose.c(144):error C2011: 'timespec': struct type redefinition.

Commenting out that definition it completed and created WebDriver_noWebkit.exe.

For the record I was on 6aa0f01e when building.

hekra01 commented 7 years ago

https://github.com/cisco-open-source/qtwebdriver/commit/de19c77488d6b58f1f150c1a920b6bce99c8d954 will take care of this

Zitrax commented 7 years ago

Thanks

LangeSebastian commented 6 years ago

Problem still active for MSVC 2015/2017. The HAVE_STRUCT_TIMESPEC define will not help here, since the typedef in mongoose.c is not surrounded by #ifndef nor does this exist in time.h from MS-Libs. There is a #ifndef for _CRT_NO_TIME_T around the typedef for timespec, but this will ultimativley remove time_t also and will fail again. Solution as proposed earlier, just removed the redefinition in mongoose.c and it did compile