2017-09-04 5 views
0

J'écris un compilateur pour Mac OS sur x86-64, mais quand je lier des fichiers l'objet ensemble, ld ditfichiers objet Link sans libSystem macOS

ld: dynamic main executables must link with libSystem.dylib for inferred architecture x86_64 

Mais depuis libSystem contient libc, je ne vouloir l'utiliser (cela me donnerait beaucoup de doublons). Comment puis-je contourner cela?

Répondre

1

Utilisez -macosx_version_min 10.6 comme paramètre ld. Cela générera LC_UNIXTHREAD au lieu de LC_MAIN dans votre fichier exécutable. Si vous voulez encore plus de contrôle, vous devez absolument vous débarrasser de ld dans votre chaîne.