Beschreiben, wie "getoptpp" als schattierte Bibliothek von meinem eigenen GNU-Makefile kompilieren und statische Link zu meinem Programm?GNU MAKE - create getoptpp Bibliothek aus meinem eigenen Makefile oder schlagen Befehlszeilenoptionen Bibliothek für C++
Was ich mache:
In meinem Programmverzeichnis unarchivierten ich getoptpp Bibliothek mit dem gleichen Namen in dem Unterverzeichnis. als neues Ziel meiner Makefile hinzugefügt: (README, ich sage Gemeinsam-Flag verwendet, um $> make n shared =.)
getoptpp:
cd getoptpp; $(MAKE) SHARED=n
als ich dieses Ziel Liste der angeforderten Ziele meines Programms hinzugefügt:
myprogram: getoptpp
g++ **** myprogram
aber nach dem Aufruf make myprogram - keine neue .so überhaupt erstellt. wenn "machen getoptpp" calling - machen sagen 'up to date'
* ZUSÄTZLICH: nach Vorschlag von .PHONY ein Fehler *
cd getoptpp; make SHARED=n
"Makefile", line 15: Missing dependency operator
"Makefile", line 19: Need an operator
"Makefile", line 24: Need an operator
"Makefile", line 45: Missing dependency operator
"Makefile", line 47: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1
http://code.google.com/p/getoptpp/
OR
istBitte, schlagen Sie ziemlich schöne Kommandozeilen-Parsing-Bibliothek für meine C++ - Programm. Das kann ich einfach als .o-Objekt kompilieren, das zu meinem Programm verlinkt. Kein Boost!
danke, jetzt ist ein Fehler aufgetreten. Party Makefile ist von der Box. – abrahab
Auf welcher Art von System ist das? Es sieht so aus als wäre dein 'make' nicht GNU' make'; Möglicherweise müssen Sie 'gmake' aufrufen, insbesondere auf einem * BSD-Host. – geekosaur
Ja, jetzt bin ich bei freebsd. Danke, aber ... dass mein Makefile nicht für andere * Unix-Systeme portierbar ist, wenn ich gmake bei dieser Art von Kompilierung dieser Lib benutzen werde? :(nicht geeignet (( – abrahab