VC++ 2010 ExpressでPOCOをビルドする
POCO 1.4.0ではこの問題は修正されているそうです。
VC++ 2010 ExpressでPOCO 1.3.6p2をビルドしてみました。 基本的にはVC9向けの.slnファイルを変換してビルドしていけば問題ありませんが、Foundationのビルド時にエラーが起きるのでメモしておきます。
ThreadLocal.cppの修正
オリジナルでは73行目でTLSMap::value_type(key, 0)としてpairを生成しようとしていますが、0が数値と解釈されてしまいエラーになっているようです。そこで、以下のようにreinterpret_castをかましてやるとTLSAbstractSlotのポインタとして扱われるようになり、無事にビルドできます。
TLSAbstractSlot*& ThreadLocalStorage::get(const void* key){ TLSMap::iterator it = _map.find(key); if (it == _map.end()) return _map.insert(TLSMap::value_type(key, reinterpret_cast<TLSAbstractSlot>(0))).first->second; else return it->second;}