You need to remove static , because otherwise the function will not be visible in different compilation units. Just use
namespace VectorMath { FVector Make(float X, float Y, float Z); }
as well as for definition.
If this does not solve your binding problem, you need to make sure that you really compile and link file.cpp correctly, but static definitely wrong.
Regarding your comment, that you found a problem that you cannot separate the declaration from the definition when using inline functions: Yes, it looks like the generated symbol of the method and its visibility, What I find strange is that that you request this as a precondition to accept the answer, although you never mentioned inline in your question. How can I even know that you are simply adding random keywords that you really don't understand? This is not a good base for others to help you deal with your problems. You must publish the real code and be honest with us. Please keep this in mind if you ask more questions in the future.
source share