I would like to use the cpp package of mxnet. So what I did was initially to download the mxnet files from the related github repository. Then I did the following:
cd mxnet
mkdir build
cd build
cmake -DUSE_CPP_PACKAGE=1 ..
cmake --build . --target install
Everything ran smoothly without errors etc. I had already installed the related prerequisities. My issue is that when trying to use the cpp package:
#include "mxnet-cpp/MxNetCpp.h"
I receiving three errors and three warnings all related to the dmlc package:
error 1: /usr/local/include/dmlc/base.h:247:1: error: template with C linkage template
error 2: /usr/local/include/dmlc/base.h:260:1: error: template with C linkage template
error 3:/usr/local/include/dmlc/base.h:282:20: error: conflicting declaration of C function ‘const char* dmlc::BeginPtr(const string&)’
Since I am new to c++ I would appreciate and related feedback for resolving the issue.
The exact log is:
In file included from /usr/local/include/dmlc/endian.h:9,
from /usr/include/x86_64-linux-gnu/sys/types.h:176,
from /usr/include/stdlib.h:395,
from /usr/include/c++/11/cstdlib:75,
from /usr/include/c++/11/ext/string_conversions.h:41,
from /usr/include/c++/11/bits/basic_string.h:6608,
from /usr/include/c++/11/string:55,
from /usr/local/include/mxnet-cpp/executor.hpp:31,
from /usr/local/include/mxnet-cpp/MxNetCpp.h:29,
from /home/stathis/Documents/Documents/Documents/Untitled.cpp:1:
/usr/local/include/dmlc/base.h:247:1: error: template with C linkage
247 | template<typename T>
| ^~~~~~~~
In file included from /usr/include/features.h:486,
from /usr/include/x86_64-linux-gnu/c++/11/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/11/bits/c++config.h:586,
from /usr/include/c++/11/bits/stl_algobase.h:59,
from /usr/include/c++/11/vector:60,
from /usr/local/include/mxnet-cpp/executor.hpp:29,
from /usr/local/include/mxnet-cpp/MxNetCpp.h:29,
from /home/stathis/Documents/Documents/Documents/Untitled.cpp:1:
/usr/include/x86_64-linux-gnu/sys/types.h:27:1: note: 'extern "C"' linkage started here
27 | __BEGIN_DECLS
| ^~~~~~~~~~~~~
In file included from /usr/local/include/dmlc/endian.h:9,
from /usr/include/x86_64-linux-gnu/sys/types.h:176,
from /usr/include/stdlib.h:395,
from /usr/include/c++/11/cstdlib:75,
from /usr/include/c++/11/ext/string_conversions.h:41,
from /usr/include/c++/11/bits/basic_string.h:6608,
from /usr/include/c++/11/string:55,
from /usr/local/include/mxnet-cpp/executor.hpp:31,
from /usr/local/include/mxnet-cpp/MxNetCpp.h:29,
from /home/stathis/Documents/Documents/Documents/Untitled.cpp:1:
/usr/local/include/dmlc/base.h:260:1: error: template with C linkage
260 | template<typename T>
| ^~~~~~~~
In file included from /usr/include/features.h:486,
from /usr/include/x86_64-linux-gnu/c++/11/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/11/bits/c++config.h:586,
from /usr/include/c++/11/bits/stl_algobase.h:59,
from /usr/include/c++/11/vector:60,
from /usr/local/include/mxnet-cpp/executor.hpp:29,
from /usr/local/include/mxnet-cpp/MxNetCpp.h:29,
from /home/stathis/Documents/Documents/Documents/Untitled.cpp:1:
/usr/include/x86_64-linux-gnu/sys/types.h:27:1: note: 'extern "C"' linkage started here
27 | __BEGIN_DECLS
| ^~~~~~~~~~~~~
In file included from /usr/local/include/dmlc/endian.h:9,
from /usr/include/x86_64-linux-gnu/sys/types.h:176,
from /usr/include/stdlib.h:395,
from /usr/include/c++/11/cstdlib:75,
from /usr/include/c++/11/ext/string_conversions.h:41,
from /usr/include/c++/11/bits/basic_string.h:6608,
from /usr/include/c++/11/string:55,
from /usr/local/include/mxnet-cpp/executor.hpp:31,
from /usr/local/include/mxnet-cpp/MxNetCpp.h:29,
from /home/stathis/Documents/Documents/Documents/Untitled.cpp:1:
/usr/local/include/dmlc/base.h:282:20: error: conflicting declaration of C function 'const char* dmlc::BeginPtr(const string&)'
282 | inline const char* BeginPtr(const std::string &str) {
| ^~~~~~~~
/usr/local/include/dmlc/base.h:273:14: note: previous declaration 'char* dmlc::BeginPtr(std::string&)'
273 | inline char* BeginPtr(std::string &str) { // NOLINT(*)
| ^~~~~~~~
make[1]: *** [Documents.mk:97: ../build-Debug/Documents/Untitled.cpp.o] Error 1
make[1]: Leaving directory '/home/stathis/Documents/Documents/Documents'
make: *** [Makefile:5: All] Error 2
==== build ended with errors (3 errors, 3 warnings) ===