<p>Thank you. I am building against C++14 as well. Here is my CMake file:</p>

<pre><code>cmake_minimum_required ( VERSION 2.8 )
project ( mlpack_nn )

set ( CMAKE_CXX_FLAGS "-std=c++1y" )
set ( CMAKE_EXPORT_COMPILE_COMMANDS 1 )
set ( PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include )

set ( MLPACK_INCLUDE_DIR "/usr/local/include/mlpack/" )
set ( MLPACK_LIBRARY "/usr/local/lib/libmlpack.so.2" )

find_package ( Armadillo REQUIRED )
find_package ( Boost COMPONENTS serialization REQUIRED )
include_directories ( ${ARMADILLO_INCLUDE_DIRS} )
include_directories ( ${Boost_INCLUDE_DIR} )
include_directories ( ${MLPACK_INCLUDE_DIR} )

file ( GLOB_RECURSE PROJ_SRCS src/*.cpp )

include_directories ( "${PROJECT_INCLUDE_DIR}" )
add_executable ( ff_nn ${PROJ_SRCS} )
target_link_libraries ( ff_nn ${ARMADILLO_LIBRARIES} ${Boost_LIBRARIES} ${MLPACK_LIBRARY} )
</code></pre>

<p>After stero's suggestion, I did a pull today and fast-forwarded my branch by 4 commits and built and ran the mlpack_test which found no errors. After this, when I compile I am still getting errors but its different:</p>

<pre><code>In file included from /home/sudarshan/project-yanack/mlpack_nn/src/ff_nn.cpp:13:0:
/usr/local/include/mlpack/methods/ann/layer/base_layer.hpp: In instantiation of ‘OutputDataType&amp; mlpack::ann::BaseLayer&lt;ActivationFunction, InputDataType, OutputDataType&gt;::OutputParameter() const [with ActivationFunction = mlpack::ann::LogisticFunction; InputDataType = arma::Mat&lt;double&gt;; OutputDataType = arma::Mat&lt;double&gt;]’:
/usr/local/include/mlpack/methods/ann/ffn.hpp:314:5:   required from ‘double mlpack::ann::FFN&lt;LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction&gt;::OutputError(const DataType&amp;, ErrorType&amp;, const std::tuple&lt;_Args2 ...&gt;&amp;) [with DataType = arma::Mat&lt;double&gt;; ErrorType = arma::Mat&lt;double&gt;; Tp = {mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;}; LayerTypes = std::tuple&lt;mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt; &gt;; OutputLayerType = mlpack::ann::BinaryClassificationLayer; InitializationRuleType = mlpack::ann::RandomInitialization; PerformanceFunction = mlpack::ann::MeanSquaredErrorFunction]’
/usr/local/include/mlpack/methods/ann/ffn_impl.hpp:241:28:   required from ‘double mlpack::ann::FFN&lt;LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction&gt;::Evaluate(const mat&amp;, size_t, bool) [with LayerTypes = std::tuple&lt;mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt; &gt;; OutputLayerType = mlpack::ann::BinaryClassificationLayer; InitializationRuleType = mlpack::ann::RandomInitialization; PerformanceFunction = mlpack::ann::MeanSquaredErrorFunction; arma::mat = arma::Mat&lt;double&gt;; size_t = long unsigned int]’
/usr/local/include/mlpack/core/optimizers/rmsprop/rmsprop_impl.hpp:54:22:   required from ‘double mlpack::optimization::RMSprop&lt;DecomposableFunctionType&gt;::Optimize(arma::mat&amp;) [with DecomposableFunctionType = mlpack::ann::FFN&lt;std::tuple&lt;mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt; &gt;, mlpack::ann::BinaryClassificationLayer, mlpack::ann::RandomInitialization, mlpack::ann::MeanSquaredErrorFunction&gt;&amp;; arma::mat = arma::Mat&lt;double&gt;]’
/usr/local/include/mlpack/methods/ann/ffn_impl.hpp:137:50:   required from ‘void mlpack::ann::FFN&lt;LayerTypes, OutputLayerType, InitializationRuleType, PerformanceFunction&gt;::Train(const mat&amp;, const mat&amp;) [with OptimizerType = mlpack::optimization::RMSprop; LayerTypes = std::tuple&lt;mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::LinearLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BiasLayer&lt;arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt;, mlpack::ann::BaseLayer&lt;mlpack::ann::LogisticFunction, arma::Mat&lt;double&gt;, arma::Mat&lt;double&gt; &gt; &gt;; OutputLayerType = mlpack::ann::BinaryClassificationLayer; InitializationRuleType = mlpack::ann::RandomInitialization; PerformanceFunction = mlpack::ann::MeanSquaredErrorFunction; arma::mat = arma::Mat&lt;double&gt;]’
/home/sudarshan/project-yanack/mlpack_nn/src/ff_nn.cpp:45:5:   required from ‘void BuildFFN(MatType&amp;, MatType&amp;, MatType&amp;, MatType&amp;, size_t) [with PerformanceFunction = mlpack::ann::LogisticFunction; OutputLayerType = mlpack::ann::BinaryClassificationLayer; PerformanceFunctionType = mlpack::ann::MeanSquaredErrorFunction; MatType = arma::Mat&lt;double&gt;; size_t = long unsigned int]’
/home/sudarshan/project-yanack/mlpack_nn/src/ff_nn.cpp:79:71:   required from here
/usr/local/include/mlpack/methods/ann/layer/base_layer.hpp:128:52: error: invalid initialization of reference of type ‘arma::Mat&lt;double&gt;&amp;’ from expression of type ‘const arma::Mat&lt;double&gt;’
   OutputDataType&amp; OutputParameter() const { return outputParameter; }
                                                    ^
make[2]: *** [CMakeFiles/ff_nn.dir/src/ff_nn.cpp.o] Error 1
make[1]: *** [CMakeFiles/ff_nn.dir/all] Error 2
make: *** [all] Error 2
</code></pre>

<p>I was able to isolate the error to the net.Train(trainData, trainLabels) call. Any suggestions?</p>

<p>Thanks.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/issues/531#issuecomment-191290369">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFN63A99_nD7LJdxCOMlxjP1c0KAIks5ppa6agaJpZM4HmbCC.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/issues/531#issuecomment-191290369"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>