Need to enable acceleration angle in Xcode

Last week, I created a massive static library (> 1000 C files) with files that were created by an independent third party.

I am currently programming an application that will have some intensive computing, and it seems that I need to add the CLAPACK library. I believe the acceleration mechanism is the way to go, but I just can't get myself to behave:

no frame. I have a bunch of linker errors that tell me that I'm missing, among other things, cblas_zgemm and dgetrf (there are more than a dozen common in more than 30 files).

After I add the framework to the project and without changing the code to iota, the cblas_zgemm linker error disappears, but dgetrf remains (despite belonging to the framework).

If I add #include (or #import) <Accelerate/Accelerate.h>, I get more than 1000 linker errors telling me that I am updating a bunch of counters (like CblasTrans) and that there are conflicting types for xyz ... Error messages seem to be repeated and dgetrf remains undefined.

What am I doing wrong / what am I missing?

thank

edit: full error messages after adding:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/cblas.h:12: error: redeclaration of enumerator 'CblasLower'


/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/cblas.h:182: error: conflicting types for 'cblas_sgemv'

edit 2: the original linker errors after I added the framework:

"_dgetrf", referenced from:
      _aaConditionNumber in libccodeLab.a(condNumber.o)
      _aaInvMatrixLUDri in libccodeLab.a(invMtrxLUDri.o)
      _aaLUFactorEx in libccodeLab.a(LU.o)
  "_dgetri", referenced from:
      _aaConditionNumber in libccodeLab.a(condNumber.o)
      _aaInvMatrixLUDri in libccodeLab.a(invMtrxLUDri.o)
      _aaLUInvMatrix in libccodeLab.a(LUInvMtrx.o)
  "_zgesdd", referenced from:
      _aaCxSVD in libccodeLab.a(cxSVD.o)
  "_dgeev", referenced from:
      _aaGenEigenValueVector in libccodeLab.a(eigenV.o)
  "_dpotrf", referenced from:
      _aaInvMatrixChoDri in libccodeLab.a(invMtrxChoDri.o)
  "_dpotri", referenced from:
      _aaInvMatrixChoDri in libccodeLab.a(invMtrxChoDri.o)
  "_dtrtri", referenced from:
      _aaInvMatrixTriDri in libccodeLab.a(invMtrxTriDri.o)
  "_dgelqf", referenced from:
      _aaQRWithoutPivot in libccodeLab.a(QRWithoutPivot.o)
  "_dorglq", referenced from:
      _aaQRWithoutPivot in libccodeLab.a(QRWithoutPivot.o)
  "_dgesdd", referenced from:
      _aaSVDS in libccodeLab.a(SVDS.o)
      _aaSVD in libccodeLab.a(SVD.o)
  "_dsyevd", referenced from:
      _aaSymEigenValueVector in libccodeLab.a(symEigenV.o)
+3
source share
1 answer

therefore, after reading some documents, I do not need to add an include statement: it is enough to have a structure in the project.

The problem is that Apple LAPACK does not recognize _dgetrf, but searches dgetrf_. Also, everything should be passed by reference.

:

+3

All Articles