J’utilise le compilateur MinGW sous Windows pour comstackr mon application C ++ avec des sockets. Ma commande de liaison ressemble à ceci: g++.exe -Wall -Wno-long-long -pedantic -lwsock32 -o dist/Windows/piskvorky { there are a lot of object files } et j’ai aussi essayé g++.exe -Wall -Wno-long-long -pedantic -lws2_32 -o dist/Windows/piskvorky { there are a lot of […]
J’ai une bibliothèque partagée que je souhaite relier un exécutable contre l’utilisation de GCC. La bibliothèque partagée a un nom non standard, pas de la forme libNAME.so, donc je ne peux pas utiliser l’option -l habituelle. (Il s’agit également d’une extension Python, et n’a donc pas de préfixe «lib».) Je suis en mesure de transmettre […]
Si je le comprends bien, cela signifie extern void foo(); que la fonction foo est déclarée dans une autre unité de traduction. 1) Pourquoi ne pas simplement inclure l’en-tête dans lequel cette fonction est déclarée? 2) Comment l’éditeur de liens sait-il où chercher la fonction au moment de la liaison? edit: Peut-être que je devrais […]
Je dois dissortingbuer un fichier binary qui fonctionnera sur autant de dissortingbutions Linux x86 que possible. Cela signifie que je dois relier statiquement certaines bibliothèques, comme la glibc, car l’utilisateur n’a peut-être pas la version que j’utilise. D’autres bibliothèques doivent être liées dynamicment, comme fontconfig, car elles reposent sur un format de fichier cache et […]
Certaines plates-formes vous obligent à fournir une liste des symboles externes d’une bibliothèque partagée à l’éditeur de liens. Cependant, sur la plupart des systèmes Unix, ce n’est pas nécessaire: tous les symboles non statiques seront disponibles par défaut. Je crois comprendre que la chaîne d’outils GNU peut éventuellement restreindre la visibilité aux seuls symboles explicitement […]
Ld /Users/pwang/Library/Developer/Xcode/DerivedData/socketiohldwxnslzhlnjtgihgewdwavpjpb/Build/Products/Debug-iphoneos/socketio.app/socketio normal armv7 cd /Users/pwang/Desktop/saturngod-Socket.io-with-iOS-be51414 setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 setenv PATH “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin” /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/Users/pwang/Library/Developer/Xcode/DerivedData/socketio-hldwxnslzhlnjtgihgewdwavpjpb/Build/Products/Debug-iphoneos -L/Users/pwang/Desktop/saturngod-Socket.io-with-iOS-be51414/socketio/simulator -L/Users/pwang/Desktop/saturngod-Socket.io-with-iOS-be51414/socketio/device -F/Users/pwang/Library/Developer/Xcode/DerivedData/socketio-hldwxnslzhlnjtgihgewdwavpjpb/Build/Products/Debug-iphoneos -F/Users/pwang/Desktop/saturngod-Socket.io-with-iOS-be51414/socketio -filelist /Users/pwang/Library/Developer/Xcode/DerivedData/socketio-hldwxnslzhlnjtgihgewdwavpjpb/Build/Intermediates/socketio.build/Debug-iphoneos/socketio.build/Objects-normal/armv7/socketio.LinkFileList -dead_ssortingp -lz -licucore -miphoneos-version-min=4.3 -framework MobileCoreServices -framework Foundation -lz -lxml2 -framework SystemConfiguration -framework CFNetwork -framework UIKit -framework CoreGraphics -o /Users/pwang/Library/Developer/Xcode/DerivedData/socketio-hldwxnslzhlnjtgihgewdwavpjpb/Build/Products/Debug-iphoneos/socketio.app/socketio ld: warning: directory not found for option ‘-L/Users/pwang/Desktop/saturngod-Socket.io-with-iOS-be51414/socketio/simulator’ ld: warning: directory […]
Existe-t-il de bons moyens pour créer de petits exécutables haskell? Avec ghc6, un simple programme hello world semble atteindre environ 370kB (523kB avant ssortingp). Bonjour tout le monde en C est d’environ 4 Ko (9 Ko avant le ssortingp).
Je veux définir sous Mac OSX le chemin d’exécution d’un exécutable (pour l’éditeur de liens) au moment de la compilation, de sorte que l’éditeur de liens dynamics trouve les bibliothèques partagées à des emplacements non standard au démarrage du programme. Sous Linux, cela est possible avec -Xlinker -rpath -Xlinker /path/to (ou en utilisant -Wl,-rpath,/path/to ) […]
Dans le fichier file1.c , il y a un appel à une fonction implémentée dans le fichier file2.c . Lorsque je lie file1.o et file2.o dans un exécutable, si la fonction dans file2 est très petite, l’éditeur de liens détectera-t-il automatiquement que la fonction est petite et intègre son appel?
Si un ami veut lancer mes binarys Haskell, doit-il d’abord installer Haskell, ou peut-il lancer le binary immédiatement? La réponse est-elle la même sur Mac, Windows et Linux?