Correct location of `Status.h`

asked 2014-04-23 04:37:09 -0700

yan.foto gravatar image

I have recently started using AllJoyn CPP bindings. After compiling using scons I copied all the build files (in /inc of common and alljoyn_core folders) to usr/local/include/. The only error message when compiling was that Status.h (imported by Mutex.h) cannot be found. I solved the problem by copying Status.h from /usr/local/include/alljoyn/ to the /usr/local/include/. However I was wondering if this is the right way to solve the problem.

I use AllJoyn 3.04.06 on Ubuntu 13.10 64 bit.

edit retag flag offensive close merge delete


Any reason you are working with older AllJoyn code instead of the new 14.02 release? I never had that problem compiling 3.4.6, can you update with the scons command used?

bspencer ( 2014-04-23 20:10:17 -0700 )edit

@bsepncer I was confused with the new and old website and AllJoyn (Allseen and Qualcomm) which led to using 3.4.6 version. Thanks for the clarification.

yan.foto ( 2014-04-26 02:48:09 -0700 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2014-04-25 09:00:18 -0700

georgen gravatar image

I am not sure why you are copying the header files into your /usr/local/include/ but if that is your development process is fine.

Not all of the header files found in common inc are intended to be public header files. Only a small sub set of the header files found found in common/inc have been selected to be public header files.

  • atomic.h
  • Debug.h
  • Log.h
  • ManagedObj.h
  • platform.h
  • String.h
  • StringUtil.h

A few additional header files that differ per platform.

All of the header files found in alljoyn_core/inc are considered public

Any other header file found in the common folder should not be used except within the AllJoyn project its-self. The AllJoyn team will not do any work to maintain backward compatibility of APIs that are not part of the public API set.

The Status.h file is generated when AllJoyn is compiled. The values of the status file come from Status.xml file located in alljoyn_core/src

First you want to build AllJoyn as a separate project. This will generate a build folder with a structure similar to this build/linux/x86_64/debug/dist/cpp the path may differ slightly depending on your particular build options. All of the public header files including Status.h will be placed in the cpp folder. These are the header files that you would want to copy into /user/local/include/.

Side note Just as Brian noted in his comment. I would encourage you to move from AllJoyn 3.04.06 to the 14.02 release. The 14.02 release was the fist release done since the AllJoyn was given to the Linux Foundation and maintained by the AllSeen Alliance. Since ownership of the code has changed you will likely find better results using 14.02 when it comes to maintenance and questions.

edit flag offensive delete publish link more


That solved a lot of misunderstandings! Thanks.

yan.foto ( 2014-04-26 02:54:27 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2014-04-23 04:37:09 -0700

Seen: 465 times

Last updated: Apr 25 '14