Symptoms
With C++ SDK upgraded to version 8.0, an atempt to build a plug-in with C++ SDK fails. The error description is similar to the following:
# waf build
Waf: Entering directory `/root/EcommercePlugins/TEST/.build'
Running with 6 parallel jobs.
[2/3] LISA post-generation task manager -> processing 1 CXX tasks
[ 8/11] cxx: bodies.cc -> .build/default/bodies_1.o
In file included from ../../../../usr/local/bm/include/BM/.src/internals/oAccount.hpp:7:0,
from ../bodies.cc:8:
../../../../usr/local/bm/include/BM/internals/headers/bAccount.hpp:8:24: fatal error: ApsToken.hpp: No such file or directory
#include <ApsToken.hpp>
^
compilation terminated.
Possible Cause
New header files ApsToken.hpp
and ApsCurlClient.hpp
were introduced in 8.0 but are missing in C++ SDK.
Resolution
Apply the following diff to file /usr/local/bm/include/BM/internals/headers/bAccount.hpp
:
diff --git a/include/BM/internals/headers/bAccount.hpp b/include/BM/internals/headers/bAccount.hpp
index c1f30f3db4c..c2d640ac8d1 100644
--- a/modules/billing/sources/BM/internals/headers/bAccount.hpp
+++ b/modules/billing/sources/BM/internals/headers/bAccount.hpp
@@ -5,9 +5,9 @@
#include <BM.h>
#include <internals/base/bAccountBase.hpp>
#include <include/resacts/ResellerExecutor.hpp>
-#include <ApsToken.hpp>
-#include <ApsCurlClient.hpp>
+class ApsCurlClient;
+class ApsToken;
class RapJsonArrayNode;
class RapJsonObjectNode;