博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

cxxnet在windows下配置遇到的问题

Posted on 2015-08-02 14:02  Frisch' Blog  阅读(652)  评论(0编辑  收藏  举报

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

d:\cxxnet\new\cxxnet-master\src\utils./thread.h(36): error C2039: 'Assert' : is not a member of 'cxxnet::utils' (......\src\io\data.cpp)
...
1>......\src\io\data.cpp(46): error C2061: syntax error : identifier 'ImageRecordIOIterator'
1>......\src\io\data.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:\Application\opencv\build\x64\vc12\lib;......\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.