We have now installed Caffe2, but we need to make sure it is correctly installed and that its C++ API is working. An easy way to do that is to create a small C++ program that initializes the global environment of Caffe2. This is done by calling a method named GlobalInit and passing it the program's arguments. This is typically the first call in a Caffe2 C++ application.
Create a C++ source file named ch1.cpp with this code:
// ch1.cpp
#include "caffe2/core/init.h"
int main(int argc, char** argv)
{
caffe2::GlobalInit(&argc, &argv);
return 0;
}
We can compile this C++ source file using the following command:
$ g++ ch1.cpp -lcaffe2
We ask the linker to link with the libcaffe2.so shared library file by using the -lcaffe2 option. The compiler uses the default include file locations, and the linker uses the default shared library file locations, so we do not need to specify those.
By default, Caffe2 header files are installed to a caffe2 subdirectory in /usr/local/include. This location is usually automatically included in a C++ compilation. Similarly, the Caffe2 shared library files are installed to /usr/local/lib by default. If you installed Caffe2 to a different location, you would need to specify the include directory location using the -I option and the shared library file location using the -L option.
We can now execute the compiled binary:
$ ./a.out
If it executes successfully, then your Caffe2 installation is fine. You are now ready to write Caffe2 C++ applications.