2012-05-18 34 views
6

Trong Visual Studio 2003, nếu tôi liên kết với một thư viện mà không có tập tin PDB tương ứng của nó, tôi nhận được một cảnh báo:Chỉ định đường dẫn PDB trong Visual Studio 2003

foo.lib (bar.obj) : cảnh báo LNK4099: PDB 'other.pdb' không được tìm thấy; liên kết đối tượng như thể không có thông tin gỡ lỗi

Nếu PDB ở vị trí xây dựng ban đầu của chúng, VS có thể tìm thấy chúng, cũng như nếu chúng nằm trong thư mục xây dựng hiện tại, nhưng có vẻ như vậy. Có cách nào tôi có thể nói cho Visual Studio chính xác nơi nó nên tìm PDBs? Tôi có một khái niệm mơ hồ rằng một máy chủ biểu tượng có thể hoạt động, nhưng điều đó có vẻ như rất nhiều chi phí; Tôi chỉ đang tìm một cái gì đó như link.exe /pdbpath c:\pdbs_are_right_here có thêm một đường dẫn để tìm kiếm, như /I thêm một đường dẫn bao gồm. Ngoài ra, có những đường dẫn khác mà nó tìm kiếm bên cạnh thư mục hiện tại và đường dẫn tuyệt đối ban đầu mà PDB đã được viết tới không?

Trả lời

0

Tôi tin rằng đường dẫn đến pdb tương ứng được nhúng trong thư viện và bạn có thể thay đổi nó thành c: \ pdbs_are_right_here tại công tắc xây dựng cho thư viện của bạn (giả sử chúng thực sự là của bạn chứ không phải bên thứ 3).

Đối với DLL nghĩa là thuộc tính dự án \ linker \ debugging \ tạo tệp cơ sở dữ liệu chương trình.

Đối với static thư viện tên mặc định là đồng nhất trong VS2013 ('vc120.pdb'), nhưng tôi nghĩ điều này đã thay đổi trong VS2015 và không có ý tưởng về VS2003. Dù sao nếu bạn đang làm việc trong VS2013 \ 2012 \ 2010, bạn cũng phải ghi đè rõ ràng tên.

Các vấn đề liên quan