J'essaie d'utiliser Autotools pour créer mon programme C qui doit être lié à certaines bibliothèques. Il contient seulement un fichier source C.Drapeaux de l'éditeur de liens au mauvais endroit
C'est le Makefile.am associé:
bin_PROGRAMS=game
game_SOURCES=main.c
game_CFLAGS=`pkg-config --cflags libglfw`
game_LDFLAGS=`pkg-config --libs libglfw`
Quand je lance make, il essaie de le compiler en utilisant ceci:
gcc `pkg-config --cflags libglfw` -g -O2 `pkg-config --libs libglfw` -o game game-main.o
Cependant cela est faux, comme le lien de la bibliothèque flags doit être à la fin, sinon il va donner des erreurs sur les références non définies. Par exemple si je cours ceci:
gcc `pkg-config --cflags libglfw` -g -O2 -o game game-main.o `pkg-config --libs libglfw`
Il compile bien.
Comment puis-je faire en sorte que le primaire LDFLAGS soit ajouté à la fin plutôt qu'au milieu?
Comment puis-je résoudre ce avec un makefile régulier, plutôt que autotools? Pour autant que je sache, make ne respecte pas LDADD (juste des autotools). –
Suivi: Avec les makefiles réguliers, la solution est d'utiliser 'LOADLIBES = -lm' plutôt que' LDFLAGS = -lm'. –