Hi Petr,
Yes, that worked. However, I went into other problems - I think they were caused by disabling precompiled headers. I had to put #include “Qt.h” in many source files because there were errors saying that Qt classes weren’t declared. See ‘calitko-icc.diff’ for changes I’ve made to get it working. I think we should unify “Qt.h” including, because in some source files the “Qt.h” include is present an in some not.
The latest revno 129 should be no-precompiled-headers-friendly :-). Actually Qt.h should only be included in cpp files and should be the very first file to include. I made sure it is included in all our cpp files and also made sure that all generated cpp files do include Qt.h.
Btw you can take a look on the ‘linux-icc.txt’ compilation log - the Intel compiler produced different warnings/messages than g++, so we could use it to improve the calitko code.
The log indeed contains some interesting warnings!
Any idea how to solve:
Protocols/BitTorrent/Packets/Testing/../BitField.h(54): warning #1125: function "Protocols::Generics::PacketBase::writePayload() const" is hidden by "Protocols::BitTorrent::Packets::BitField::writePayload" -- virtual function override intended?
void writePayload (BinaryWriter &) const;
It appears numerous times and the cause is that Gnutella::Packets::PacketBase and BitTorrent::Packets::PacketBase implement writePayload() and define a new pure virtual function void writePayload (BinaryWriter &), which thir derived classes implement. Maybe to get rid of the warnings we should reimplement both and have one simply call its base class implementation (which is sub-optimal and practically unnecessary).
./Gnutella/LocalPeer.h(44): warning #780: using-declaration ignored -- it refers to the current namespace
using Gnutella::NodeInfo;
is also an interesting one. Should we not write Gnutella::? I’ve also been thinking about the #includes in Import.h/cpp. If we include from a sub-package, then which one should we use:
#include "SubPackage/Module.h" // relative path to this file
#include "Package/SubPackage/Module.h // relative path to project's root
There are also other warnings but these two issues seem to produce the bigger part of all warnings.
Regards,
Peter
