cxxnet在windows下配置遇到的问题

I compiled the dmlc-core and rabbit.
When I compile the new version of CXXNET, there are compile errors such as :

d:cxxnet ewcxxnet-mastersrcutils./thread.h(36): error C2039: 'Assert' : is not a member of 'cxxnet::utils' (......srciodata.cpp)
...
1>......srciodata.cpp(46): error C2061: syntax error : identifier 'ImageRecordIOIterator'
1>......srciodata.cpp(46): error C2512: 'cxxnet::AugmentIterator' : no appropriate default constructor available
I fix these error by copying the code of "rabit::Util::Assert " to the namespace utils in thead.h and add the following line in the file "iter_image_recordio-inl.hpp"

define DMLC_USE_CXX11 1

Then the build is succeeded without any error now.

BTW, I am using VS2013、CUDA7 on windows 7. I did two other modification:

  1. If someone use CUDA7, he should modified these .vcxproj with a text editor to change "CUDA 6.5." to "CUDA 7.0." in these files.
  2. I disabled the optimization by choosing "Disabled (/Od)" in C/C++ -> Optimization

I have no time to test the CXXNET further

define MSHADOW_RABIT_PS 0

D:Applicationopencvuildx64vc12lib;......lib;
In your case one was linked against the CRT DLL (/MD) and the other was linked statically (/MT).

You just need to make sure both match and this error will go away.

原文地址:https://www.cnblogs.com/frischzenger/p/4695699.html