Wie der Titel sagt, suche ich nach einer Möglichkeit, mein PIN-Tool mit einigen Abhängigkeiten kompilieren zu lassen. Also zum Beispiel, wenn ich #include "somefile.h"
in meinem PIN-Tool, und generieren einige Objekt-Datei g++ -c somefile.cpp
, wie verknüpfe ich meine Objektdatei mit meinem PIN-Tool kompilieren, damit ich die Funktionalität in meinem PIN-Tool verwenden kann?PIN-Tool mit Abhängigkeiten kompilieren
2
A
Antwort
3
So auf konnte ich eine Dokumentation finden Sie die „makefile.rules“ unter here Webseite des PIN zu ändern. Für meine Situation würden diese 6 Zeilen unten zum Ende von "makefile.rules" hinzugefügt werden.
$(OBJDIR)"somefile"$(OBJ_SUFFIX): "somefile".cpp "somefile".h
$(CXX) $(TOOL_CXXFLAGS) $(COMP_OBJ)[email protected] $<
$(OBJDIR)"PinFile"$(OBJ_SUFFIX): "pin_tool".cpp
$(CXX) $(TOOL_CXXFLAGS) $(COMP_OBJ)[email protected] $<
$(OBJDIR)"pin_tool"$(PINTOOL_SUFFIX): $(OBJDIR)"somefile"$(OBJ_SUFFIX) $(OBJDIR)"PinFile"$(OBJ_SUFFIX) "somefile".h
$(LINKER) $(TOOL_LDFLAGS_NOOPT) $(LINK_EXE)[email protected] $(^:%.h=) $(TOOL_LPATHS) $(TOOL_LIBS)
Das einzige, was von einer Make-Datei zu einem anderen wechseln würde wäre die Worte, die ich in Anführungszeichen gesetzt. Beachten Sie, dass die zitierten Wörter in der tatsächlichen "makefile.rules" keine Anführungszeichen enthalten sollten.
2
Sie benötigen eine neue Regel am Ende Ihres „makefile.rules“:
$(OBJDIR)YourPinToolMainFile$(PINTOOL_SUFFIX): $(OBJDIR)YourPinToolMainFile$(OBJ_SUFFIX) $(OBJDIR)somefile$(OBJ_SUFFIX)
$(LINKER) $(TOOL_LDFLAGS) $(LINK_EXE)[email protected] $^ $(TOOL_LPATHS) $(TOOL_LIBS)
Verwandte Themen
- 1. C - Kompilieren mit Abhängigkeiten enthalten
- 2. wie dramsim2 library interface mit einem PINtool verknüpft werden
- 3. Gradle Abhängigkeiten: Projekt nach relativer Pfad kompilieren
- 4. Benötigen verteilte Compiler Abhängigkeiten beim Kompilieren?
- 5. Wie funktioniert das Kompilieren zirkulärer Abhängigkeiten?
- 6. Wie javac automatisch kompilieren Abhängigkeiten einer Klasse
- 7. Maven: Kompilieren mit allen Abhängigkeiten in einem Jar
- 8. Maven einrichten zu (anstelle des Herunterladens) zu kompilieren Abhängigkeiten
- 9. Abhängigkeiten von Abhängigkeiten mit browserify-shim shimmen
- 10. Kann ich ein Scala-Projekt mit gemischtem Java und Scala Code mit Abhängigkeiten in Maven kompilieren?
- 11. Verzeichnis Abhängigkeiten mit Harke
- 12. Python argparse mit Abhängigkeiten
- 13. Maven Glas mit Abhängigkeiten?
- 14. Statische Bibliothek mit Abhängigkeiten
- 15. Testen angularjs mit Abhängigkeiten
- 16. SparkR Job mit Abhängigkeiten
- 17. Grunzen Arbeiten mit Abhängigkeiten
- 18. Snapshots Abhängigkeiten mit Gradle
- 19. Kompilieren Sie den Quellcode mit zwei verschiedenen Abhängigkeiten in einem einzelnen build.gradle
- 20. Wie Abhängigkeiten Abhängigkeiten erhalten?
- 21. nuget Abhängigkeiten von Abhängigkeiten
- 22. zirkuläre Abhängigkeiten zwischen DLLs mit Visual Studio
- 23. Kompilieren nicht-essentielle Objektdateien mit GCC
- 24. Kompilieren eines Projekts mit unterschiedlicher Java-Quellkompatibilität
- 25. Pip: Abhängigkeiten von Abhängigkeiten installieren
- 26. Kompilieren J2ME mit Ant
- 27. DLL mit Versionsinformationen kompilieren
- 28. Problem Kompilieren mit Cygwin
- 29. phantomjs kompilieren mit webGL
- 30. Powershell - Kompilieren mit Modulen
Beachten Sie, dass die Objektdatei mit den gleichen Laufzeiten wie Pin selbst kompiliert werden muss. Ich empfehle, dass Sie sich einige Makefiles von Pin-Kits anschauen, um zu sehen, wie obj-Dateien erzeugt werden, und fügen Sie Ihrem Pintool-Makefile eine ähnliche Zeile hinzu. – nitzanms