Bibliothek verwalten mit REMOVE Option



  • Hallo erstmal, bin neu hier und hoffe auf eine gute Community 😃

    Also ich habe hier eine Projektmappe mit mehreren Projekten. In dem Hauptprojekt (kurz "P1" genannt) habe ich in der Projekt-Eigenschaft einige fertige Bibliotheken (u.a. P2.lib) eingefügt.
    Wie kann ich nun ein bestimmtes Object ("obj1") aus der Bibliothek P2.lib durch ein verändertes Object (mit demselben Namen) ersetzen, das aus dem anderen Projekt ("P2") kommen soll?

    Also ich habe in den Eigenschaften des Projektes P2 in 'Bibliothekar' die folgende Option hinzugefügt:
    /REMOVE:".\Release\obj1.obj"

    Allerdings sagt mir der Compiler, dass dieses Object nicht gefunden wurde ("LIB : warning LNK4014: Elementobjekt '.\Release\obj1.obj' nicht gefunden").

    Weiß jemand, was ich bei dem Ganzen falsch gemacht habe?

    Danke schon mal im Voraus 🙂


  • Mod

    Bau doch einfach unterschiedliche Projekt Einstelungen in denen Du die ungewünschten C++ Modle einfach nicht einbeziehst. Über den "Configuration Manager" kopierst Du dieentsprechende Konfiguration. Dann definierst Du neue Ausgabe Pfade. Für die entsprechenden C++ Dateien die nicht in die Lib sollen klickst Du die Sourcedatei an und setzt "Included in Project" auf false.



  • Also den ersten Teil habe ich nur teilweise verstanden. Aber das geht auch nicht, da ich ein vorhandenes Programm erweitern soll.

    Aber der zweite Teil bringt mich auf eine Idee/Frage: Kann man nicht einfach irgendwie erzwingen, dass bestimmte C++ Dateien benutzen werden sollen?


  • Mod

    Was hat dann bitte Dein bestehendes Programm mit den LIBs zu tun? Ich denke Du hast mehrere Projekte!

    Wenn Du mehrere Libs hast und zwei leicht verschiedene aufbauen willst, dann sind zwei verschiedene Konfigurationen, die zwei leicht verschiedene Libs auswerfen doch ideal.
    Sonst bau Dir einen Wrapper, der beide Codevaianten per #ifdef oder Interface unterstützt.

    Du kannst in einem Projekt sagen, dass eine Cpp Datei verwendet werdn soll oder nicht...
    Das kann je nach "Configuration" eben anders eingestellt werde.



  • Also ich hab mir deinen ersten Ratschlag nochmal mehrmals gelesen, nachdem ich nun mehr weiß, wie der Builder funktioniert.

    Und, es funktioniert! Ist ja irgendwie auch logisch. Aber naja, das sagen sie alle hinterher... 😃

    Also danke schön!


Anmelden zum Antworten