• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Linking 64 bit app against vDSP other Accelerate libraries?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linking 64 bit app against vDSP other Accelerate libraries?


  • Subject: Re: Linking 64 bit app against vDSP other Accelerate libraries?
  • From: Rick Hoge <email@hidden>
  • Date: Wed, 14 Nov 2007 14:29:55 -0500


On 14-Nov-07, at 1:20 PM, Shawn Erickson wrote:

On 11/14/07, Rick Hoge <email@hidden> wrote:

I tried compiling an 64 bit executable for an app that uses a lot of functions from vDSP and other libs under the Accelerate framework (clapack, etc.)

What SDK are you using? What version of Xcode? What is your min target operating system?

I'm using the 10.5 SDK in Xcode 3. The min target OS is 10.5. For testing, I am building only for x86_64 to inventory the incompatibilities of my code for 64 bit.


Even if I create a brand new Xcode project, attempt to use a method like vadd in a 64 bit build I get errors and warnings.

What is the code related to the warnings you see?

see below.



Accelerate frameworks are 64b capable however it appears that your
code may not be. Review
http://developer.apple.com/releasenotes/Performance/RN-vecLib/index.html .

I looked at this, but it does not give a ton of detail beyond saying that they support the x86_64 architecture.



Here is a class that isolates the problem code:


/////////////////////////////////////////////////////////////////////////////////////////////////

#import "AccelerateTest.h"

#import <Accelerate/Accelerate.h>

@implementation AccelerateTest

-(id)init {

 self = [super init];

 if (self) {

   float data1 = 2.0;
   float data2 = 2.0;
   float result = 0.0;

   vadd(&data1,1,&data2,1,&result,1,1);

   NSLog(@"result = %f",result);

 }


return self;

}

@end

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

The above builds and runs fine in 32 bit, but if I build the 64 bit binary I get the following linker errors:

Undefined symbols:
 "_vadd", referenced from:
     -[AccelerateTest init] in AccelerateTest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Linking 64 bit app against vDSP other Accelerate libraries?
      • From: "Shawn Erickson" <email@hidden>
References: 
 >Linking 64 bit app against vDSP other Accelerate libraries? (From: Rick Hoge <email@hidden>)
 >Re: Linking 64 bit app against vDSP other Accelerate libraries? (From: "Shawn Erickson" <email@hidden>)

  • Prev by Date: Re: Still no "View as array..."? Expressions window (still) broken...
  • Next by Date: Re: Linking 64 bit app against vDSP other Accelerate libraries?
  • Previous by thread: Re: Linking 64 bit app against vDSP other Accelerate libraries?
  • Next by thread: Re: Linking 64 bit app against vDSP other Accelerate libraries?
  • Index(es):
    • Date
    • Thread