views:

212

answers:

2

Hi,

I have 3rd party libraries for my mac applications which used to link nicely to my application with the previous version of Mac OS X.

I have upgraded to Snow Leopard and now g++ linker complains:

ld: warning: in /Users/paul/Projects/3rdPath/NHUI/Lib/mac32/libNHUI.a, file is not of required architecture

The link also fails to locate functions from this library.

Do I need Snow Leopard versions of each 3rd party library or can I provide some compiler/link switch which could allow me to build like I did in the previous Mac OS X version.

Thank you,

Paul

+1  A: 

I don't even own a Mac so feel free to disregard this, but your path has "mac32" in it, which suggests to me that it's a 32 bit library. "architecture" in computers usually refers to 32/64 bit CPU architectures, and I've heard that Snow Leopard has a big emphasis on migrating to 64 bit apps. As such, my first blush impression is that you are using a 32 bit library which Snow Leopard is warning you away from.

Hope that helps you get going in the right direction!

Toji
That is also my understanding. I am looking for a way to compile/link 32 bit. It looks like the compiler defaults to 64 bit.
Paul
+1  A: 

My guess is you're compiling 32/64-bit Universal, but the library itself is only 32-bit. While ideally you should get a 64-bit version of the library, for the time being you should just turn off 64-bit compilation of your application.

Kevin Ballard