2014-07-24 19 views
11

Giải pháp Visual Studio 2012 của tôi có các dự án C#, các dự án VB.NET, các dự án C++/CLI và các dự án C++. Hiện tại, tôi có ba nền tảng: x86, x64Win32. Khi tôi thêm x64, tôi nhận thấy nó đã được tất cả các dự án sử dụng. Tôi muốn làm tương tự với x86, để tôi có thể xóa Win32.Sử dụng nền tảng x86 trong các dự án C++

Vì vậy, tôi đã đi đến Trình quản lý cấu hình, đã chọn dự án C++ và trong hộp tổ hợp nền tảng, tôi chỉ có các tùy chọn: Win32, x64, Mới và Chỉnh sửa. Nếu tôi đã chọn New, tùy chọn duy nhất có sẵn là ARM.

Vì vậy, sau đó tôi nghĩ chỉ thay thế Win32 bằng x86 trong tệp .vcxproj của tôi. Đã không hoạt động (mặc định là x64). Sau đó, tôi đã xem tệp .sln, nhưng không thể thấy cách x64 quản lý để làm việc cho mọi dự án.

+0

WIN32 là một API không phải là nền tảng. Ít nhất là không giống như x86 và x86_64. –

+1

Khi ở Rome ... http://i.imgur.com/pMdq3Y5.png –

+0

"Win32" giống với "x86" (x64). Tên mặc định của cấu hình trong Visual Studio là "Win32" (x86 32 bit), "x64" (64 bit) và "ARM" (Windows RT 32 bit). –

Trả lời

11

Các IDE khác nhau quá nhiều để có được tên nền tảng chung cho mã 32 bit. Ngược lại, việc phản chiếu mã được quản lý thay vì về cơ bản khác với mã C++. Tên nền tảng dự án được quản lý chỉ có thể là AnyCPU, x86, x64. Tên nền tảng dự án C++ chỉ có thể là Win32, x64 và ARM. Lịch sử đóng một vai trò, Win32 xuất phát từ đầu những năm 1990, khi Windows NT giới thiệu phiên bản 32-bit của winapi. Phân biệt với phiên bản 16 bit. Không có cơ hội thực sự để bao giờ thay đổi nó một lần nữa mà không có rủi ro phá vỡ các dự án hiện tại.

Tên nền tảng x86 cho các dự án được quản lý không chính xác là tiêu chuẩn, đó là một sai lầm trong VS2010 mà bạn dường như đã được kế thừa. VS2012 tạo ra các dự án mới với tên nền tảng AnyCPU như các phiên bản VS cũ được sử dụng để thực hiện. Mà khá chính xác mô tả nền tảng thực sự cho mã được quản lý, nó chạy trên bất kỳ nhờ jitter. Tên là không thích hợp, chỉ có các thuộc tính Project + Properties, Build tab buộc phải sử dụng jitter cụ thể khi chạy. Nói cách khác, nếu bạn không ép x86 thì chương trình của bạn vẫn chạy như một tiến trình 64-bit, mặc dù tên nền tảng là x86. Đó là sai lầm của VS2010, nó gây ra rất nhiều đau khổ.

Vì vậy, bạn khá mắc kẹt với điều này. Nó không phải là một vấn đề thực sự, IDE có thể xử lý kết hợp tốt. Bạn đã biết về hộp thoại Build + Configuration Manager, nó hiển thị rõ ràng nền tảng nào sẽ được xây dựng khi bạn sử dụng Build + Build hoặc nhấn F5.

+0

Được rồi, vì vậy tôi không thể loại bỏ Win32. Quay lại nguồn gốc của sự khó chịu này: có cách nào để ngăn Win32 được chọn ở đây (xem hình) không? Bởi vì đôi khi VS messes lên và Win32 được chọn, và các lỗi xây dựng kỳ lạ xảy ra sau đó. http://i.imgur.com/p8AJHOO.png –

+0

Sử dụng Công cụ + Tùy chỉnh để xóa hộp tổ hợp để bạn không thể khiến VS mắc lỗi đó. –

+0

Nhưng tôi cần combo đó để chọn x86 hoặc x64. Và nó thực sự là VS, không phải tôi. Nó có xu hướng xảy ra khi tôi dỡ bỏ một dự án, chỉnh sửa nó và tải lại nó (thường làm điều này để gọi các mục tiêu msbuild khi xây dựng xong) –

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