multiple-projects

___ qstnhdr ___ Wie können Sie Funktionen aus verschiedenen C ++ - Projekten in Visual Studio 2010 verwenden? ___ answer10438891 ___

Sie können einen RealPath für Ihr Include-Verzeichnis einschließen! Wie für Ihr FirstProject enthalten "./../" Und das gleiche gilt für Ihr zweites Projekt wie dieses können Sie Ihr Verzeichnis SolutionDir verschieben oder kopieren und es wird immer funktionieren!

Für Ihre ungelösten Links müssen Sie die function.cpp und function.h in Ihrem ersten und zweiten Projekt hinzufügen Sie können es in SolutionDir platzieren! So haben Sie immer zwei Dateien für Ihr erstes und zweites Projekt statt vier!

Ich hoffe, es hilft!

    
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ tag123visualstudio2010 ___ Visual Studio 2010 ist eine integrierte Entwicklungsumgebung (IDE) von Microsoft. Verwenden Sie dieses Tag nur für Fragen, die sich aus der Verwendung dieser bestimmten Version von Visual Studio ergeben, und nicht für einen gerade darin geschriebenen Code. ___ tag123include ___ Eine Bestimmung, die von vielen Programmiersprachen bereitgestellt wird, um die in einer Datei definierte Funktionalität in einer anderen zu verwenden. ___ answer10438846 ___

Ja, Sie müssen die Funktionen mit %code% exportieren und sie in das Projekt importieren, das die Funktionen mit %code% aufruft.

Diese Dualität wird normalerweise mit einem Makro erreicht:

%Vor%

In der Konfiguration Ihres ersten Projekts fügen Sie %code% zu Ihren Präprozessordirektiven hinzu. Wenn Sie das erste Projekt kompilieren, teilen Sie dem Compiler mit, dass die Funktion exportiert werden soll. Wenn Sie die Datei jedoch in ein anderes Projekt einfügen, für das %code% nicht definiert ist, teilen Sie dem Compiler mit, dass die Funktion in einer anderen Bibliothek implementiert ist und importiert werden sollte.

Zusätzlich zu den zusätzlichen Include-Pfaden müssen Sie die generierten %code% -Dateien aus den Projekten, die die Funktionen implementieren, zur Registerkarte %code% in den Liner-Einstellungen Ihrer Projektkonfiguration hinzufügen.

    
___ answer10438861 ___

Versuchen Sie, das erste Projekt als statische Bibliothek unter Projekteigenschaften / Konfigurationseigenschaften / Allgemein / Konfigurationstyp zu erstellen.

Dann müssen Sie in Ihren Projekteigenschaften für das zweite Projekt zwei Dinge ändern:

  1. In Linker / Allgemein müssen Sie möglicherweise den Ordner "Zusätzliche Bibliotheksverzeichnisse" hinzufügen, in dem das %code% des ersten Projekts erstellt wird.
  2. In Linker / Input müssen Sie den Namen der %code% -Datei wie %code% oder wie auch immer der Name lautet, zu zusätzlichen Abhängigkeiten hinzufügen.
___ tag123unresolvedexternal ___ "Nicht aufgelöstes externes Symbol" ist ein Linkerfehler. Es bedeutet oft, dass eine Funktion eine Deklaration, aber keine Definition hat. ___ tag123multiple projects ___ Fragen zu den Schwierigkeiten, die auftreten können, wenn man gleichzeitig an mehreren Projekten arbeitet. ___ qstntxt ___

Ich möchte zwei C ++ - Projekte in derselben Lösung in Visual Studio 2010 erstellen, die miteinander interagieren können. Ich habe eine Lösung im Verzeichnis %code% erstellt. Die beiden Projekte wurden jeweils unter %code% und %code% erstellt.

Mein erstes Projekt enthält zwei Dateien, einen Header %code% und eine cpp Datei %code%

function.h

%Vor%

function.cpp

%Vor%

Mein zweites Projekt enthält die Hauptdatei %code%

main.cpp

%Vor%

Ich habe das Verzeichnis %code% in meinem SecondProject %code% hinzugefügt. Ich bekomme immer noch den klassischen Fehler: %code% beim Aufruf der Funktion %code% .

Irgendwelche Ideen?

    
___
3
Antworten

Wie können Sie Funktionen aus verschiedenen C ++ - Projekten in Visual Studio 2010 verwenden?

Ich möchte zwei C ++ - Projekte in derselben Lösung in Visual Studio 2010 erstellen, die miteinander interagieren können. Ich habe eine Lösung im Verzeichnis C:\Users\me\Desktop\SolutionDir erstellt. Die beiden Projekte wurden jeweils unter...
03.05.2012, 20:21