2012-09-24 19 views
5

Tôi đang sử dụng dự án Makefile trong Visual Studio 2012 thể hiện tốt. Tuy nhiên, bất kể lệnh Build được chỉ định, Visual Studio luôn tạo một thư mục 'obj' chứa các thư mục con rỗng obj \ Win32 \ Debug và obj \ Win32 \ Release.Visual Studio Makefile Project tạo thư mục 'obj' không liên quan

Để tái tạo sự cố, chỉ cần tạo "Visual C++ - General - Makefile Project" và sử dụng lệnh DOS như 'dir' trong Dòng lệnh xây dựng. Ngay sau khi bạn xây dựng, thư mục rỗng obj \ Win32 \ Debug sẽ hiển thị.

Tôi có thể chỉ đơn giản bỏ qua những điều này trong tệp bỏ qua Mercurial của tôi nhưng thật tuyệt khi tìm thấy bản sửa lỗi. Bất cứ ai cũng biết làm thế nào để làm cho Visual Studio không tạo ra các thư mục trống?

+0

http://stackoverflow.com/questions/15620224/move-obj-folder-in-visual-studio-2012 –

Trả lời

1

Thư mục obj đại diện cho VS 'siêu dữ liệu riêng về dự án của bạn để hỗ trợ intellisense và hỗ trợ thiết kế (cho các ứng dụng WF/WPF). Đối với hầu hết các phần, bạn có thể bỏ qua thư mục hoàn toàn không có vấn đề.

Nhân dịp dữ liệu này có thể bị hỏng và khiến VS hiển thị tùy chọn Intellisense không hợp lệ và trình thiết kế quy trình làm việc/WPF có thể gây ra lỗi. Đóng VS và xóa thư mục obj sẽ nhanh chóng giải quyết vấn đề này.

+0

Cảm ơn bạn đã trả lời. Nhưng trong trường hợp này của dự án Makefile sử dụng công cụ xây dựng bên ngoài, thư mục obj này luôn trống. Có cách nào để chuyển hướng nó đến thư mục trung gian không? $ (IntDir). – chopin952

+0

Thật không may, không có cách nào để kiểm soát hành vi này trong VS. Nó xảy ra trong thực tế tất cả các loại dự án quá, do đó, nó không giới hạn các ứng dụng VC++. – ajawad987

+0

Nghĩ đến một cách tiếp cận khác mà bạn có thể thực hiện để xây dựng công việc của bạn trong một thư mục hoàn toàn sạch sẽ. Theo mặc định xây dựng sẽ đi đến một trong hai bin/$ (cấu hình) nhưng bạn có thể trực tiếp này được bất cứ nơi nào. Có lẽ có các đầu ra hướng đến một nơi nào đó bên ngoài không gian dự án của bạn sẽ là một cách tiếp cận tốt? – ajawad987

2

Tìm thấy một mẹo: để đặt thư mục đầu ra trung gian trên một thư mục hiện có. Tôi đã sửa đổi tệp dự án bằng tay và thêm vào:

<IntermediateOutputPath>$(ProjectDir)</IntermediateOutputPath> 

bên trong cấu hình PropertyGroup. Tôi đã sử dụng thư mục dự án, mà rõ ràng là đã tồn tại. Không còn thư mục obj vô dụng nữa!

+0

Điều này phù hợp với tôi trên VS2015. –

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