Hi,
hupnp 1.0.0 fails to build with the llvm/clang c++ compiler.
clang++ -c -O2 -pipe -fno-strict-aliasing -O2 -Wall -W -fPIC -DH_BUILD_UPNP_CORE_LIB -DDEBUG -DQT_NO_DEBUG -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4/QtXml -I/usr/local/include/qt4 -Iinclude -Ilib/qtsoap-2.7-opensource/src -Iobj -I/usr/local/include -o obj/hdevicehost.o src/devicehosting/devicehost/hdevicehost.cpp
In file included from src/devicehosting/devicehost/hdevicehost.cpp:25:
src/devicehosting/devicehost/hpresence_announcer_p.h:277:28: error: cannot initialize a variable of type 'Herqq::Upnp::HSsdp *' with an lvalue of type 'Herqq::Upnp::HDeviceHostSsdpHandler *const'
foreach(HSsdp* ssdp, m_ssdps)
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/usr/local/include/qt4/QtCore/qglobal.h:2266:10: note: expanded from:
for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
^ ~~~~~~~~~~~~~~
Here you can find a patch the fixes the issue: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/hupnp/files/patch-hupnp__src__devicehosting__devicehost__hpresence_announcer_p.h?rev=1.1
The problem is that Clang needs to be explicitly told that Herqq::Upnp::HSsdp is a parent
of Herqq::Upnp::HDeviceHostSsdpHandler.