2013-04-29 9 views
9

Korzystając z programu Visual Studio 2010, chciałbym podać ścieżkę do # komentarza #pragma (lib) względem pliku cpp, włączając go.Względna ścieżka z komentarzem #pragma (lib)

Próbowałem

#pragma comment(lib, __FILE__"\\..\\foo.lib") 

w foo.cpp i wydaje do pracy. Jednak wydaje mi się to dość hackowskie.

Czy jest mniej hackish sposób?

Odpowiedz

6

Nie, nie, jeśli to musi być względne z pliku .cpp. Co jest dość niezwykłe, zwykle nie można zagwarantować, że plik .lib zostanie wdrożony w katalogu, który jest względny z kodu źródłowego klienta, który korzysta z biblioteki. Chociaż z pewnością można podać instrukcje instalacji, które to zalecają.

W normalny sposób należy po prostu podać "foo.lib" i skonfigurować linker tak, aby przeszukał odpowiedni katalog dla pliku .lib przy pomocy ustawień dodatkowych katalogów bibliotecznych. Który pozwala .lib być wdrożone w dowolnym miejscu, ale użytkownik biblioteki będzie musiał zaktualizować ustawienie, gdy ustawia swój projekt. W przeciwnym razie jest to bardzo normalne zadanie konfiguracyjne. I nie strasznie różni się od określania biblioteki w ustawieniach Dodatkowych zależności.

Należy pamiętać, że #pragma jest zwykle najbardziej przydatna, aby pomóc programistom klienta w używaniu odpowiedniej wersji biblioteki linków statycznych. Zazwyczaj musisz dostarczyć 4 kompilacje statycznego pliku .lib, debugowania vs wydania i/MT vs/MD. Prawdopodobnie pomnożona przez liczbę wersji VS, które chcesz wspierać. To może stać się owłosione w pośpiechu. Predefiniowane makra _DLL, _DEBUG i _MSC_VER pomagają w wygenerowaniu poprawnej #pragma.

Powiązane problemy