2015-08-13 13 views
6

Budujemy dwie biblioteki statyczne, nazwijmy je LibA i LibB.Scalanie informacji o debugowaniu podczas łączenia bibliotek statycznych

W Visual Studio ustawiłem rozwiązanie z projectA & projectB, takie, że dla projektu B, pod Configuration Properties -> Librarian -> General -> Additional Dependencies dodałem LibA. To sprawia, że ​​VS łączy LibA z wygenerowanym LibB. Odbywa się to, ponieważ nie chcemy zmieniać, które statyczne biblioteki wysyłamy do klientów.

Teraz zarówno LibA, jak i LibB są budowane z "Baza danych programów" jako format informacji debugowania, a kiedy połączę LibB do końcowego pliku binarnego, otrzymuję ostrzeżenia o tym, że LibA.pdb nie zostanie znaleziony. To prowadzi mnie do przekonania, że ​​informacje z debugowania z LibA nie są łączone z LibB, więc chciałbym to zrobić sam. Chociaż nie mogę znaleźć żadnych narzędzi do tego. Znowu wolałbym nie wysyłać dodatkowego pliku, jeśli to możliwe.

Obejście, o którym myślałem, ale jeszcze nie próbowałem, to zbudowanie LibA przy użyciu "kompatybilnego C7" jako formatu informacji debugowania. Mamy nadzieję, że Visual Studio będzie wystarczająco inteligentny, aby wyodrębnić te informacje i dodać je do pdb utworzonego dla LibB.

+1

Możliwy duplikat [Jak scalać wiele plików PDB?] (Http://stackoverflow.com/questions/528105/how-do-i-merge-multiple-pdb-files) –

+0

Możliwe dupowanie [W tym. pliki pdb z bibliotekarką w Visual Studio] [1]? [1]: http://stackoverflow.com/a/14276129/1823963 – malchemist

Odpowiedz

-1

W projekcie B należy ustawić jeszcze jedną opcję.

Patrz: https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(VC.Project.VCLibrarianTool.LinkLibraryDependencies)&rd=true

W oknie Właściwości projectB ustawić następującą opcję Yes.

LinkLibraryDependencies Opcjonalny parametr Boolean. Jeśli to prawda, określa, że ​​wyjść bibliotekę z zależnościami projektu są automatycznie łączone w.

Zatem LibB będzie zawierać wszystko, od Liba.

Powiązane problemy