Porady: porządkowanie plików wyjściowych projektu dla kompilacji

W tym temacie opisano najlepsze metody organizowania plików wyjściowych projektu.Błędy kompilacji mogą wystąpić przy niepoprawnej konfiguracji plików wyjściowych projektu.W tym temacie przedstawiono również zalety i wady każdego rozwiązania alternatywnego do organizowania plików danych wyjściowych projektu.

Odwoływanie się do zestawów CLR

Aby tworzyć odwołania do zestawów za pomocą #using

  • Możesz odwoływać się bezpośrednio do zespołu z kodu za pomocą dyrektywy #using, takiej jak #using <System.Data.dll>.Aby uzyskać więcej informacji, zobacz #using — dyrektywa (C++).

    Określony plik może być .dll, .exe, .netmodule lub .obj, o ile jest w MSIL.Wywoływany składnik może być skompilowany w dowolnym języku.Korzystając z tej opcji masz dostęp do technologii Intellisense, ponieważ metadane zostaną wyodrębnione z MSIL.Wspomniany plik musi być w ścieżce dla projektu; w przeciwnym wypadku projekt nie zostanie skompilowany i technologia Intellisense nie będzie dostępna.Kliknięcie prawym przyciskiem myszy i wybranie polecenia Otwórz dokument jest łatwym sposobem ustalenia, czy plik jest w ścieżce #using.Zostaniesz powiadomiony, jeśli nie będzie można odnaleźć pliku.

    Jeśli nie chcesz umieścić pełnej ścieżki do pliku, można użyć opcji kompilatora /AI, aby edytować ścieżkę wyszukiwania dla odwołań #using.Aby uzyskać więcej informacji, zobacz /AI (Określ katalogi metadanych).

Aby tworzyć odwołania do zestawów za pomocą /FU

  • Zamiast odwoływać się do zestawu bezpośrednio z pliku kodu, jak opisano powyżej, można użyć opcji kompilatora /FU.Zaletą tej metody jest to, że nie trzeba dodawać osobnej instrukcji #using do każdego pliku, który odwołuje się do danego zestawu.

    Aby ustawić tę opcję, otwórz Strony właściwości dla projektu.Rozwiń węzeł Właściwości konfiguracji, a następnie rozwiń węzeł C/C++ i wybierz opcję Zaawansowane.Dodaj żądane zestawy za Wymuś przy użyciu #.Aby uzyskać więcej informacji, zobacz /FU (Nazwij wymuszone pliki dyrektywy #using).

Aby tworzyć odwołania do zestawów za pomocą Dodaj nowe odwołanie

  1. Jest to najprostszy sposób na używanie zestawów CLR.Po pierwsze upewnij się, że projekt jest skompilowany z opcją kompilatora /clr.Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań i wybierz Dodaj, Odwołania.Pojawi się dialog Strona właściwości.

  2. Z okna dialogowe Strony właściwości wybierz opcję Dodaj nowe odwołanie.W oknie dialogowym pojawi się lista wszystkich .NET, COM i innych podzespołów dostępnych w bieżącym projekcie.Wybierz żądany zestaw i kliknij OK.

    Po ustawieniu odwołanie projektu odpowiadające mu zależności są obsługiwane automatycznie.Ponadto ponieważ metadane są częścią zestawu, nie trzeba dodać pliku nagłówkowego ani prototypować elementów, które są używane z zestawów zarządzanych.

Odwoływanie się do macierzystych bibliotek DLL lub bibliotek statycznych

Aby tworzyć odwołania do macierzystych bibliotek DLL lub bibliotek statycznych

  1. Odwołaj się do odpowiedniego pliku nagłówka w kodzie przy użyciu dyrektywy #include.Plik nagłówka musi się znajdować w ścieżce włącz lub w części bieżącego projektu.Aby uzyskać więcej informacji, zobacz #include — dyrektywa (C/C++).

  2. Możesz również ustawić zależności projektu.Ustawianie zależności projektu gwarantuje dwie rzeczy.Po pierwsze zapewnia, że projekty są kompilowane w odpowiedniej kolejności, tak aby projekt zawsze znajdował potrzebne pliki zależne.Po drugie niejawnie dodaje katalog wyjściowy projektu zależnego do ścieżki tak, aby możliwe było łatwe znajdowanie plików w czasie konsolidacji.

  3. Aby wdrożyć aplikację, konieczne będzie umieszczenie biblioteki DLL w odpowiednim miejscu.T o może być jedna z następujących:

    1. Taka sama ścieżka jak w przypadku pliku wykonywalnego.

    2. Gdziekolwiek w ścieżce systemu (zmienna środowiskowa path).

    3. W zestawie równoległym.Aby uzyskać więcej informacji, zobacz Kompilowanie wykonywanych jednocześnie aplikacji C/C++.

Praca z wieloma projektami

Domyślnie projekty są zbudowane tak, że wszystkie pliki wyjściowe są tworzone w podkatalogu katalogu projektu.Katalog ma nazwę na podstawie kompilacji konfiguracji (np.Debuguj lub Zwolnij).Aby projekty równorzędne odwoływały się do siebie wzajemnie, każdy projekt musi jawnie dodać katalogi wyjściowe innych projektów do swojej ścieżki, aby łączenie powiodło się.Odbywa się to automatycznie po ustawieniu współzależności projektu.Jednakże jeżeli nie używasz zależności, należy starannie postępować, ponieważ kompilacje mogą stać się bardzo trudne do zarządzania.Na przykład kiedy projekt ma konfiguracje Debug i Release, i obejmuje zewnętrzną bibliotekę z innego projektu na tym samym poziomie, powinien używać innego pliku biblioteki w zależności od tego, która jest kompilowana konfiguracja.Zapisywanie tych ścieżek może być trudne.

Wszystkie podstawowe pliki wyjściowe (takie jak pliki wykonywalne, przyrostowe pliki konsolidatora i pliki PDB) są kopiowane do katalogu wspólnego rozwiązania.Tak więc, podczas pracy z rozwiązaniem zawierającym kilka projektów języka C++ z równoważnymi konfiguracjami, wszystkie pliki wyjściowe są scentralizowane dla uproszczonego łączenia i wdrażania.Możesz się upewnić, że aplikacja/biblioteka będą działać zgodnie z oczekiwaniami, jeśli będą razem trzymały te pliki (jako że zagwarantowane jest występowanie tych plików w ścieżce).

Lokalizacja plików danych wyjściowych może być poważnym problemem podczas wdrażania do środowiska produkcyjnego.Podczas wykonywania projektów w IDE, ścieżki do dołączonych bibliotek niekoniecznie są takie same, jak w środowisku produkcyjnym.Na przykład jeśli masz element #using "../../lib/debug/mylib.dll" w kodzie, ale potem wdrożysz bibliotekę mylib.dll w innym położeniu względnym, aplikacja zakończy się niepowodzeniem w czasie wykonywania.Aby temu zapobiec, należy unikać używania ścieżek względnych w instrukcjach #include w kodzie.Lepiej jest upewnić się, że niezbędne pliki znajdują się w ścieżce kompilowania projektu i podobnie zapewnić, że odpowiadające im pliki produkcyjne są prawidłowo umieszczone.

Oto jak określić, gdzie trafiają pliki wyjściowe

  • Lokalizację ustawień danych wyjściowych projektu można znaleźć na stronie Strony właściwości projektu.Rozwiń węzeł Właściwości konfiguracji i wybierz opcję Ogólne.Lokalizacja danych wyjściowych jest określona obok Katalog wyjściowy.Aby uzyskać więcej informacji, zobacz Ogólna strona właściwości (projekt).

Zobacz też

Koncepcje

Typy projektów Visual C++