Linker Outputfile und andere Configuration Properties



  • Hallo Comunitiy,

    wie der Titel schon sagt, habe ich ein paar Fragen zu diversen Configuration Properties. Ich bin komplett neu auf dem Gebiet des C++ Developments. Für meinen Werkstudentenjob habe ich mich ein wenig in Visual C# beschäftigt. Da ich jedoch leider kaum eingearbeitet wurde und die Dokumentation recht dürftig ist wollte ich mir mit Hilfe der Steinberg VST3 SDK die eigentlich super dokumentiert ist einen Überblick über Programmiersprachen im allgemeinen verschaffen.

    Mein Problem ist, dass ich die samples der SDK nicht kompilieren kann. Ich habe einen Rechner mit Windows 7 64Bit und darauf läuft Visual Studio 2013 Professional. Da ich mir nicht anders zu helfen wusste wo die einzelnen Bestandteile der SDK hingehören, habe ich die vst.zip datei komplett in den
    M:\Users\Bene\Documents\Visual Studio 2013\Projects folder extrahiert damit Visual Studio die benötigten Komponenten erstmal findet. Für Vorschläge wie das besser geht bin ich gern zu haben.

    Sobald ich die Projektmappe erstellen will erscheint folgender Fehler:
    error MSB3191: Unable to create directory "M:\Program Files (x86)\Steinberg\vstplugins\test". Access to the path 'M:\Program Files (x86)\Steinberg\vstplugins\test' is denied.

    Meine erste Frage ist: Welche Propertie teilt der IDE oder wem auch immer mit das es nötig sei diese directory zu erstellen und/oder auf sie zuzugreifen?

    Nach diversen Nachforschungen in diesem und auch vielen anderen Foren habe ich mit dem Linker Outputfile herumexperimentiert.

    Der Ursprüngliche Linker Outputfile lautet:
    (ProgramFiles)\\Steinberg\\vstplugins\\test\\(ProjectName).dll

    Wie gesagt... ich habe bereits auf mehreren Foren Antworten gesucht aber leider selbst auf der MSDN Seite nur dürftig Auskünft darüber erhalten was der Outputfile überhaupt ist. Soweit mir gesagt wurde, ist der Linker eigentlich zuständig um auf benötigte resourcen zu verweisen.

    Lieg ich da überhaut richtig?? Wenn ja was hat das mit Output zu tun???.

    Nach einigem herumspielen mit dem outputfile und mit dem Wissen über den Fehler habe ich eben diesen Pfad der im Fehler angegeben ist als Outputfilepfad gewählt, ohne zu wissen was ich eigentlich mache.

    Der von mir erstellte Linker Outputfile lautet:
    (ProgramFiles(x86)\\Steinberg\\vstplugins\\test\\(ProjectName).dll

    Das lustige daran ist, obwohl ich bei "(ProgrammFiles(x86))" die Klammer vergessen habe, hat das Projekt kompiliert und ich habe eine dll erzeugt die ich in einem VSThost wiklich laden konnte und auch funktioniert hat.

    Wie kann das denn sein???

    Es geht noch weiter...
    Ich hätte es garnicht bemerkt wenn ich nicht auf meinem netbook versucht hätte das selbe sample zu kompilieren. Auf meinem netbook läuft Windows 7 32Bit mit Visual Studio 2010 Professional.

    Der Ursprüngliche Linker Outputfile lautet genau wie oben:
    (ProgramFiles)\\Steinberg\\vstplugins\\test\\(ProjectName).dll

    Da es auf meinem netbook keinen ProgrammFiles(x86) folder gibts erschin mir die erste Lösung oben (die wie gesagt merkwürdiger Weise kompiliert) als falsch.

    Der Fehler der hier erscheint lautet:
    warning MSB8012: TargetPath(C:\Users\Bene-Arbeit\Documents\Visual Studio 2010\Projects\Steinberg\VST3 SDK\public.sdk\samples\vst\again\win\Win32\Debug\AGain VST2.dll) entspricht nicht dem OutputFile-Eigenschaftswert (C:\Program Files\Steinberg\vstplugins\test\AGain VST2.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.

    fatal error LNK1104: Datei "C:\Program Files\Steinberg\vstplugins\test\AGain VST2.dll" kann nicht geöffnet werden.

    Ich habe wie gesagt auf vielen Foren Nachforschungen angestellt und es gibt auch viele Beiträge die dieses Thema behandeln. Ich weiß auch das es allein schon viel Zeit kostet meinen Betrag zu lesen. Ich bitte trotzdem darum mich nicht auf irgendwelche bereits existierende beitrage zu verweisen da ich sie mit sicherheit bereits gelesen habe. Viel mehr würde ich darum bitten mir exakte Instruktionen zu geben wie ich diesen Fehler behebe und warum ich mache was ich tu. (Was ist der Outputfile und TargetPath usw.)

    Vielen Dank im voraus,

    Bene

    Ich brauche wirklich Hilfe...!!! 🙂

    EDIT: ok also hab das "Problem" auf meinem Rechner gefixt. Da ich wie gesagt nicht genau verstehe was ich mache hab ich ein neues C++ Classlibrary Projekt erstellt und alle Werte für Output Directory und Output File daraus übernommen. Was ich trotdem komisch finde ist das es mit dem vorher von mir erstellten Linker Output File kompiliert hat...
    Auf meinem netbook habe ich das selbe gemacht und es funktioniert leider nicht:
    Fehlermeldung: error LNK1123
    Aber da bin ich grad noch dran...
    gibt n haufen auf Stackoverflow dazu...
    mal schauen...

    EDIT: also kompiliert jetz auch auf meinem netbook... hab wie in stackoverflow erklärt, die cvtres Dateien gesucht(.Net 4.5 ist installiert). Zuerst hab ich in C:\Windows\Microsoft.Net\Framework\v4.0.30319 die Dateien umbenannt...hat nicht funktioniert.... aber dann kam schon der Fehler dass er die Datei nicht öffnen kann. Also Umbenennung wieder Rückgängig gemacht und
    in C:\ProgrammFiles\MicrosoftVisualStudio10.0\VC\bin die Datei umbenannt.
    Und es kompiliert bei beidem...

    wenn mir trotzdem noch jemand helfen kann wie und wohin ich die sourcedateien der sdk hinpacken kann so dass ich nicht die ganze sdk in den Projekt folder von vs studio packen muss und vs diese trotzdem noch findet wäre super...

    Danke schon ma im voraus,

    Bene 🙂



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply