2010-09-23 4 views
1

Est-ce légal? Je reçois une erreur "Impossible de trouver <lib> .framework/Versions/4/<lib>" de l'éditeur de liens. Dans ce cas, <lib> est 'QtGui' qui a été construit comme un framework i386 (non universel), mais un autre (tiers) lib je lie (qui utilise QtGui) est universel.Liaison OSX non universelle (i386) w/universelle .dylib

Je pense que tout doit être construit universel ou non ...

Répondre

0

Vous pouvez lier un cadre non-universel (par exemple i386) avec un cadre universel (dire avec i386 et x86_64) pour faire une i386 binaire.

Bien sûr, vous ne pouvez pas créer de binaire x86_64 dans ce cas.

Notez que si votre Mac dispose d'un processeur 64 bits, le lieur par défaut est un binaire x86_64. Ainsi, l'éditeur de liens se plaindra si l'une de vos bibliothèques n'a pas la partie x86_64. Si vous voulez créer un binaire i386, vous devez le spécifier explicitement sur la ligne de commande.

0

Roger.

Il s'avère que mon problème provient en fait de mauvais chemins intégrés dans les bibliothèques externes qui doivent être réinitialisées (ce qui ne devrait pas affecter les liens, mais c'est le cas).

Le problème de la construction universelle était suspecté, mais non.

Merci, rickb

Questions connexes