Dela via


Gör så här: Organisera utdatafiler för byggprojekt

I det här avsnittet beskrivs metodtips för att organisera projektutdatafiler. Byggfel kan inträffa när du konfigurerar projektets utdatafiler felaktigt. Det här avsnittet beskriver också fördelarna och nackdelarna med varje alternativ för att organisera dina projektutdatafiler.

Referera till CLR-sammansättningar

Så här refererar du till sammansättningar med #using

  1. Du kan referera till en sammansättning direkt från koden med hjälp av #using-direktivet, till exempel #using <System.Data.dll>. Mer information finns i #using-direktivet.

    Den angivna filen kan vara en .dll, .exe, .netmodule eller .obj, så länge den finns i MSIL. Den refererade komponenten kan byggas på valfritt språk. Med det här alternativet har du åtkomst till IntelliSense eftersom metadata extraheras från MSIL. Filen i fråga måste finnas i sökvägen för projektet. annars kompileras inte projektet och IntelliSense blir inte tillgängligt. Ett enkelt sätt att avgöra om filen finns i sökvägen är att högerklicka på raden #using och välja kommandot Öppna dokument . Du får ett meddelande om filen inte kan hittas.

    Om du inte vill ange den fullständiga sökvägen till filen kan du använda kompileringsalternativet /AI för att redigera sökvägen för #using-referenser. Mer information finns i /AI (Ange metadatakataloger).

Så här refererar du till sammansättningar med /FU

  1. I stället för att referera till en sammansättning direkt från en kodfil enligt beskrivningen ovan kan du använda kompilatoralternativet /FU . Fördelen med den här metoden är att du inte behöver lägga till en separat #using-instruktion i varje fil som refererar till en viss sammansättning.

    Om du vill ange det här alternativet öppnar du egenskaper sidor för projektet. Expandera noden Konfigurationsegenskaper och expandera sedan noden C/C++ och välj Avancerat. Lägg till önskade assembly bredvid Force #using. Mer information finns i /FU (Name Forced #using File).

Så här refererar du till sammansättningar med Lägg till ny referens

  1. Det här är det enklaste sättet att använda CLR-sammansättningar. Kontrollera först att projektet är kompilerat med kompilatoralternativet /clr . Högerklicka sedan på projektet från Solution Explorer och välj Lägg tillreferenser. Dialogrutan Egenskapssidor visas.

  2. I dialogrutan Egenskapssidor väljer du Lägg till ny referens. En dialogruta visas med alla .NET, COM och andra sammansättningar som är tillgängliga i det aktuella projektet. Välj önskad sammansättning och klicka på OK.

    När en projektreferens har angetts hanteras motsvarande beroenden automatiskt. Eftersom metadata ingår i en sammansättning behöver du inte heller lägga till en rubrikfil eller en prototyp av de element som används från hanterade sammansättningar.

Referera till interna DLL:er eller statiska bibliotek

Så här refererar du till interna DLL:er eller statiska bibliotek

  1. Referera till lämplig rubrikfil i koden med hjälp av #include-direktivet. Header-filen måste finnas i inkluderingsvägen eller vara en del av det aktuella projektet. Mer information finns i #include direktiv (C/C++).

  2. Du kan också ange projektberoenden. Att fastställa projektberoenden garanterar två saker. Först säkerställer det att projekt byggs i rätt ordning så att ett projekt alltid kan hitta de beroende filer som behövs. För det andra lägger det implicit till det beroende projektets utdatakatalog till sökvägen så att filer enkelt kan hittas vid länktid.

  3. För att distribuera programmet måste du placera DLL:en på en lämplig plats. Detta kan vara något av följande:

    1. Samma sökväg som den körbara filen.

    2. Var som helst i systemsökvägen (sökvägsmiljövariabeln).

    3. I sammansättningen sida vid sida. Mer information finns i Skapa C/C++-sammansättningar sida vid sida.

Arbeta med flera projekt

Som standard skapas projekt så att alla utdatafiler skapas i en underkatalog i projektkatalogen. Katalogen namnges baserat på byggkonfigurationen (t.ex. felsökning eller version). För att syskonprojekt ska kunna referera till varandra måste varje projekt uttryckligen lägga till de andra projektutdatakatalogerna i sin sökväg för att länkningen ska lyckas. Detta görs automatiskt när du anger projektberoenden. Men om du inte använder beroenden måste du hantera detta noggrant eftersom byggen kan bli mycket svåra att hantera. När ett projekt till exempel har konfigurationer för felsökning och lansering och innehåller ett externt bibliotek från ett syskonprojekt, bör det använda en annan biblioteksfil beroende på vilken konfiguration som skapas. Därför kan det vara svårt att hårdkoda de här sökvägarna.

Alla viktiga utdatafiler (till exempel körbara filer, inkrementella länkfiler och PDB-filer) kopieras till en gemensam lösningskatalog. När du arbetar med en lösning som innehåller ett antal C++-projekt med motsvarande konfigurationer centraliseras därför alla utdatafiler för förenklad länkning och distribution. Du kan vara säker på att deras program/bibliotek fungerar som förväntat om de håller ihop filerna (eftersom filerna garanterat finns i sökvägen).

Platsen för utdatafiler kan vara ett stort problem när du distribuerar till en produktionsmiljö. När du kör projekt i IDE är sökvägarna till inkluderade bibliotek inte nödvändigtvis desamma som i produktionsmiljön. Om du till exempel har #using "../../lib/debug/mylib.dll" i koden men sedan flyttar mylib.dll till en annan relativ position misslyckas programmet under körning. För att förhindra detta bör du undvika att använda relativa sökvägar i #include-instruktioner i koden. Det är bättre att se till att de nödvändiga filerna finns i projektets byggsökväg och på samma sätt se till att motsvarande produktionsfiler placeras korrekt.

Så här anger du vart utdatafiler ska gå

  1. Platsen för inställningarna för projektutdata finns på projektets egenskapssidor. Expandera noden bredvid Konfigurationsegenskaper och välj Allmänt. Utdataplatsen anges bredvid Utdatakatalogen. För mer information, se Allmän Egenskapssida (Projekt).

Se även

C++-projekttyper i Visual Studio