Code aus zwei unterschiedlichen Visual Studio Projekten mit unterschiedlichen Plattformen verwenden



  • Guten Tag,
    ich habe zwei Visual Studio Projekte (Visual Studio Community 2019), welche jeweils unterschiedliche Dll's verwenden. Ich habe nun ein Gesamtprojekt erstellt, welches beide Projekte vereint und somit auch beide .Dll's verwendet (eine zur Steuerung eines Sensors, die andere zur Kommunikation zwischen dem Projekt und Beckhoff's Kommunikationsschnittstelle ADS). Beim Kompilieren erhalte ich jedoch den Fehler, dass ein Verweis auf ein nicht aufgelöstes externes Symbol besteht. Bei der Betrachtung beider Programme in ihren jeweiligen Projekten fiel mir auf, dass das Sensorprogramm in der Projektmappenplattform x64 kompiliert wird, und das Beckhoff-ADS-Programm in der Projektmappenplattform win32. Wenn ich in meinem Gesamtprojekt nun zwischen den Plattformen umschalte, so geben jeweils die Funktionen den Linker-Fehler aus, welche auf der nicht eingestellten Plattform kompiliert wurden.
    Da ich im Studium lediglich die Grundlagen der Programmierung (Syntax/Struktur) gelernt habe, jedoch nicht die Funktionen rund um Visual Studio, wollte ich fragen, ob ich mein Gesamtprogramm auf eine Plattform konvertieren kann, sodass ich keine Linker-Fehler bekomme.
    Über eine Antwort wäre ich sehr dankbar



  • Die einzelnen Teilprojekte müssen schon eine gemeinsame Plattform verwenden (man kann keine x86 [Win32] und x64 Projekte mischen).
    Für jedes Teilprojekt kannst du über die Projektkonfiguration verschiedene Plattformen angeben, so daß im Gesamtprojekt mit dem Konfigurations-Manager dann die zusammen passenden Konfigurationen der Teilprojekte eingestellt werden: Vorgehensweise: Konfigurieren von Projekten für Zielplattformen

    PS: Du mußt also schauen, ob die externen DLLs in verschiedenen Plattformen vorliegen, nur dann kannst du ja das zugehörige Teilprojekt für verschiedenen Plattformen kompilieren und linken.



  • Vielen Dank für deine Antwort.
    Dann muss ich mich wohl in Verbindung mit Beckhoff oder dem Sensorhersteller setzen, um eine passende Version zu bekommen. Frei zur Verfügung stehen leider keine übereinstimmenden Versionen



  • @clueless123 sagte in Code aus zwei unterschiedlichen Visual Studio Projekten mit unterschiedlichen Plattformen verwenden:

    Frei zur Verfügung stehen leider keine übereinstimmenden Versionen

    Frage doch mal bei den Hiwis nach. Eventuell hat auch die AG ein Login.


Anmelden zum Antworten