Closed necromancersecret closed 6 years ago
Any help ?
Johnson
I prev used this one to compile on windows "https://github.com/LitingLin/libcuckoo-windows".. As i require latest changes , please any help in compiling on windows, please do help.
Johnson
Hey, sorry I've personally never compiled libcuckoo on windows, and I'm not really familiar enough with the windows environment to know what other steps are necessary to get it compiling. Seems like some people are integrating it into their visual studio projects, but I'm not sure about the specifics.
@manugoyal , i saw some people were talking about vs build , hence i asked if anyone who had successfully compiled the latest libcuckoo on windows, it would be of great help
@davidalbertonogueira , any help
Johnson
Hi @necromancersecret , If you are looking for a Windows Microsoft Visual Studio solution, you can use my fork: https://github.com/davidalbertonogueira/libcuckoo
This was a fork made around August last year, mainly just porting some linux-specific code and adding MVS projects. If you do need libcucuckoo most recent changes, I may check the new differences and considering merging them. Tell me if you need anything.
Dear @davidalbertonogueira You came as a lifeguard, please do help me in building the latest libcuckoo for visual studio. I am stuck :(
Johnson
I am looking into that. Too much has changed between these two branches. It will probably not be feasible for me to do it in the next days. @necromancersecret , are you sure you need that "bleeding-edge" version? I've been using my fork in production without problems. @manugoyal , is there any new feature since August or any significant performance improvement in those 150 commits?
There is no significant performance improvement in the latest version, mostly API enhancements. The old version is still tagged as v0.1, so feel free to pull that tag.
@davidalbertonogueira , my bad I was down with fever for few days, did not get the chance to look. But I will give it a shot.
@manugoyal , please let me know does upsert thing will work in david's version ?
Johnson
Yes, upsert works in the old version too.
Hi, @manugoyal , @davidalbertonogueira ! I have the same problem of @necromancersecret . I need the new features of libcuckoo in Windows.
Precisely I opened the issue https://github.com/efficient/libcuckoo/issues/32. (https://github.com/efficient/libcuckoo/issues/33 related to this problem. Apparently, this issue was resolved recently.
When i try to build with the current version of libcukoo (https://github.com/efficient/libcuckoo) in Visual Studio 2015, I get:
1> main.cpp
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(898): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(903): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::Bucket' being compiled
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2391): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(899): error C2975: '_Bits': invalid template argument for 'std::bitset', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\bitset(20): note: see declaration of '_Bits'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(902): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2061: syntax error: identifier 'key_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2382): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2061: syntax error: identifier 'mapped_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2061: syntax error: identifier 'size_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2061: syntax error: identifier 'difference_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2061: syntax error: identifier 'hasher'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2061: syntax error: identifier 'key_equal'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2061: syntax error: identifier 'allocator_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2061: syntax error: identifier 'pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2061: syntax error: identifier 'difference_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1978): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::const_iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2061: syntax error: identifier 'pointer'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2041): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\city_hasher.hh(6): fatal error C1083: Cannot open include file: 'city.h': No such file or directory
1> Principal.cpp
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(898): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(903): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::Bucket' being compiled
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2391): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(899): error C2975: '_Bits': invalid template argument for 'std::bitset', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\bitset(20): note: see declaration of '_Bits'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(902): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2061: syntax error: identifier 'key_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2382): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2061: syntax error: identifier 'mapped_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2061: syntax error: identifier 'size_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2061: syntax error: identifier 'difference_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2061: syntax error: identifier 'hasher'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2061: syntax error: identifier 'key_equal'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2061: syntax error: identifier 'allocator_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2061: syntax error: identifier 'pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2061: syntax error: identifier 'difference_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1978): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::const_iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2061: syntax error: identifier 'pointer'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2041): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\city_hasher.hh(6): fatal error C1083: Cannot open include file: 'city.h': No such file or directory
1> ManagerNetwork_netlink.cpp
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(898): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(903): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::Bucket' being compiled
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2391): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(899): error C2975: '_Bits': invalid template argument for 'std::bitset', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\bitset(20): note: see declaration of '_Bits'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(902): error C2975: '_Size': invalid template argument for 'std::array', expected compile-time constant expression
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\array(20): note: see declaration of '_Size'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2061: syntax error: identifier 'key_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2382): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1846): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2061: syntax error: identifier 'mapped_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1847): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1848): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2061: syntax error: identifier 'size_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1849): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2061: syntax error: identifier 'difference_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1850): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2061: syntax error: identifier 'hasher'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1851): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2061: syntax error: identifier 'key_equal'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1852): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2061: syntax error: identifier 'allocator_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1853): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1854): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1855): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2061: syntax error: identifier 'pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1856): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1857): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2061: syntax error: identifier 'difference_type'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1978): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::const_iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1866): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2061: syntax error: identifier 'value_type'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1867): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2061: syntax error: identifier 'const_pointer'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1868): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2061: syntax error: identifier 'const_reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1869): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2061: syntax error: identifier 'pointer'
1> p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(2041): note: see reference to class template instantiation 'cuckoohash_map<Key,T,Hash,Pred,Alloc,SLOT_PER_BUCKET>::locked_table::iterator' being compiled
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1992): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2061: syntax error: identifier 'reference'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\cuckoohash_map.hh(1993): error C2238: unexpected token(s) preceding ';'
1>p:\mis-proyectos\ciberlandia2017\wifibot\inc\libcuckoo\libcuckoo\city_hasher.hh(6): fatal error C1083: Cannot open include file: 'city.h': No such file or directory
Unfortunately the libcuckoo forks in windows are not updated (https://github.com/davidalbertonogueira/libcuckoo and https://github.com/LitingLin/libcuckoo-windows). :-(
Any help? Thank you!
DJuego
I successfully build libcuckoo for windows using mingw-w64. I use Arch cross-build toolkit, but probably it will work using mingw-w64 for windows also. I even made a mingw-w64-libcuckoo-git AUR package, which I use to build my software.
Thank you, @Burning-Daylight. Good to know.
I work with MinGW-Builds too... Perhaps, i will try it in the future. Unfortunately my current project is in Visual Studio 2015/2017. :-/
It is a pity that libcuckoo does not support oficially MSVC (the last MSVC at least). Nowdays, g++, clang++ and MSVC are the best compilers for C++. And , MSVC is the best compiler choice on Windows for targeting Windows, regardless of what editor or IDE you choose to use (IMHO).
For me, it is the main weakness of libcuckoo. :-(
Anyway, thank you for libcuckoo. :-)
DJuego
Thank you for your interest and your hint! I could test it, However there are a pull request https://github.com/efficient/libcuckoo/pull/86
I have my hopes in this fix...
DJuego
On Fri, Sep 22, 2017 at 9:35 PM, Jesper Meyer notifications@github.com wrote:
You will need to add typename before all type references from another class like: using key_type = cuckoohash_map::key_type; -> using key_type = typename cuckoohash_map::key_type;
Other then that it should be fine. Builds fine on /std:c++latest c++17.3
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/efficient/libcuckoo/issues/62#issuecomment-331554188, or mute the thread https://github.com/notifications/unsubscribe-auth/AB3ZdDvGYaff09CF0vz7T7sbO18hH1OQks5slBotgaJpZM4MMAU6 .
Hi! Sorry for my very delayed feedback!
I have tested the last master commit where it is announced a fix for windows build (thank you for the efforts, guys!).
Unfortunately there are problems with Visual Studio 2017 x64.
I use:
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBUILD_EXAMPLES=1 -DBUILD_TESTS=1 ../..
I get:
p:\Compilados\x32-x64\TRABAJO_MSVC2017_x64\libcuckoo\build\debug>nmake
Microsoft (R) Program Maintenance Utility Version 14.11.25508.2
Copyright (C) Microsoft Corporation. All rights reserved.
[ 5%] Built target nested_table
[ 11%] Built target blob_blob_table
[ 17%] Built target hellohash
[ 22%] Built target count_freq
[ 28%] Built target int_str_table
[ 34%] Built target c_hash
[ 40%] Built target int_int_table
[ 42%] Building CXX object tests/unit-tests/CMakeFiles/unit_tests.dir/test_locked_table.cc.obj
test_locked_table.cc
P:\Compilados\x32-x64\TRABAJO_MSVC2017_x64\libcuckoo\libcuckoo/cuckoohash_map.hh(2445): error C2248: 'cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>::spinlock': cannot access private class declared in class 'cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>'
P:\Compilados\x32-x64\TRABAJO_MSVC2017_x64\libcuckoo\libcuckoo/cuckoohash_map.hh(758): note: see declaration of 'cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>::spinlock'
p:\compilados\x32-x64\trabajo_msvc2017_x64\libcuckoo\tests\unit-tests\unit_test_util.hh(76): note: see declaration of 'cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>'
P:\Compilados\x32-x64\TRABAJO_MSVC2017_x64\libcuckoo\libcuckoo/cuckoohash_map.hh(2440): note: while compiling class template member function 'std::istream &operator >>(std::istream &,cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>::locked_table &)'
P:\Compilados\x32-x64\TRABAJO_MSVC2017_x64\libcuckoo\tests\unit-tests\test_locked_table.cc(14): note: see reference to class template instantiation 'cuckoohash_map<int,int,std::hash<int>,std::equal_to<int>,std::allocator<std::pair<const int,int>>,4>::locked_table' being compiled
NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~4\2017\ENTERP~1\VC\Tools\MSVC\1411~1.255\bin\Hostx64\x64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
HOWEVER, there are good news because if it is disabled the tests the build is succesfully.
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=1 ../..
<- It works!
Thank you for this!!
DJuego
those tests and samples build failures have been fixed in pull request #88
Thanks @d36u9! I am keen in this, and i will wait for merging!
DJuego
Thank you very much for the docs updating! 👍 👍
Just merged a commit inspired by #88 which should fix the compile errors on MSVC. Windows builds should work now!
Has any one compiled the latest lib-cuckoo on windows? If yes, please do share the steps ?
Johnson