I need to have some global constants that represent directory paths. In this way some constants are actually built by concatenating other constants. I have therefore tried to use strcat function but it fails.
What I am trying to do looks like this:
#include <iostream>
#include <string>
For starters:
str3[] = strcat(str3, str1);
is undefined, because you try to initialize str3 with itself. I expect you intended to use str2 instead of str3.
Second, str3 doesn't need to be a global value, you could just concatenate str1 and str2 whenever you need str3.