OSX 9 Mavericks - Homebrew - g ++ 4.8 - échec de la liaison: symbole non défini «__istype (int, unsigned long)»


1
g++-4.8 -o block_test block_test.o Block.o MemRef.o CI_Metadata.o ConnectMxctl.o Log.o BLog.o -L/usr/local/mysql/lib -lmysqlclient -g 
Undefined symbols for architecture x86_64:
  "__istype(int, unsigned long)", referenced from:
      std::ctype<char>::is(unsigned long, char) const in block_test.o
      std::ctype<char>::is(unsigned long, char) const in ConnectMxctl.o
ld: symbol(s) not found for architecture x86_64

La chose la plus proche d'une solution que j'ai trouvée dans Google est de fonctionner xcode-select --install. Cela a effectivement réussi une fois, je pense; les tentatives suivantes échouent car il est "actuellement non disponible sur le serveur de mise à jour logicielle".

xcode est installé et à jour, y compris les utilitaires de ligne de commande. De plus, j’ai utilisé homebrew pour installer g ++ - 4.8, donc tout se trouve dans / usr / local / Cellar /. D'autres suggestions ont été faites sur (compiler? Lien?) /Opt/local/lib/gcc48/libstdc++.a, que j'ai changé en /usr/local/Cellar/gcc48/4.8.1/gcc/lib/libstdc++.a parce que je utilise du breuvage, pas MacPorts - mais je n’ai pas encore déterminé à quoi il appartient.


Avez-vous compilé les fichiers objets sur la même machine?
NEO

Je pense que vous devez ajouter un peu plus de contexte, comme ce que vous construisez, comment vous le construisez et comment le reproduire. C'est probablement un mélange de compilateur et de bibliothèque standard, mais il est difficile d'en dire plus sans avoir plus de détails.
Peter Eisentraut

FWIW, je peux reproduire le problème et avoir soumis un rapport de bogue .
Konrad Rudolph le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.