-
Notifications
You must be signed in to change notification settings - Fork 758
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem: Windows build broken because of multiple issues #204
Conversation
Windows issues: * missing includes files Solution: added missing <memory> and <unordered_map> Here <map> was replaced with <unordered_map> as there is no need for sorted map. * googletest fails because deprecation warning causing errors. Solution: D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING option added. * googletest fails because by default, new Visual Studio projects link the C runtimes dynamically but Google Test links them statically. Solution: gtest_force_shared_crt=ON option added. Besides that adding appveyor.yml configuration to add Windows build to CI in order to prevent accidental Windows build breakage. For now only Debug configuration as Release requires more time to figure out.
Pull Request Test Coverage Report for Build 34
💛 - Coveralls |
I've enabled appveyor let's see if it runs |
Building libzmq on appveyor is extremely slow for some reasons... |
The test fails:
|
@bluca build it is really slow indeed, don't know why though yet. |
Solution: disabling tests and perf tools
Note that the slow build is a problem in libzmq's repository as well, so it's nothing to do with the appveyor file you added. Try with |
I have disabled tests and perfs so build time is 2x faster now (~5min). Proper way would be to "cache" googletest and libzmq build between runs. Until then I am thinking to disable VS 2015. |
If you could implement ccache it would be fantastic, please also port it to libzmq and zproject :-) |
Solution: copy libzmq dll to build bin directory.
@bluca Windows build now passes on my branch. Should be fine here in a bit... |
@@ -1107,7 +1108,7 @@ namespace zmq | |||
private: | |||
void *poller_ptr; | |||
std::vector<zmq_poller_event_t> poller_events; | |||
std::map<socket_t*, handler_t> handlers; | |||
std::unordered_map<socket_t*, handler_t> handlers; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see how this change is related to the Windows build support (maybe #include was missing?).
Windows issues:
Solution: added missing and <unordered_map>
Here was replaced with <unordered_map> as there is no need for
sorted map.
Solution: D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING option added.
link the C runtimes dynamically but Google Test links them statically.
Solution: gtest_force_shared_crt=ON option added.
Two last point should fix issue #199.
Besides adding appveyor.yml configuration to add Windows build to
CI in order to prevent accidental Windows build breakage on merge.
For now only Debug configuration as Release requires more time to figure
out.