Your code (or one of the headers that you include before <Accelerate/Accelerate.h>
) defines a macro with the name k1
. Something like:
#define k1 *some expression*
It’s a bug for a system library to use “common” parameter names like this for exactly this reason, but it’s also bad style for you to use them as macro names for the same reason.
There are a few ways that you can resolve the issue:
- Change the name of your macro.
- Move the definition of your macro so that it comes after the inclusion of the Accelerate header.
If you’re not using the LAPACK functions, but instead some other part of Accelerate, you can prevent the compiler from seeing the clapack.h prototypes via include-guard abuse:
#define __CLAPACK_H // hide clapack.h prototypes #import <Accelerate/Accelerate.h>