2012-10-21 64 views
6

Gần đây tôi đã nâng cấp bộ công cụ của mình từ Win 7 x86/Visual Studio 2010 lên Win 8 x64/Visual Studio 2012. Tuy nhiên, bây giờ bản gốc C++ dll của tôi biên dịch là x64 chứ không phải x86. Tôi đã không làm bất cứ điều gì khác hơn là di chuyển mã vào O/S mới và tải nó vào VS2012.Visual Studio 2012 bản địa C++ DLL biên dịch x86

Có ai biết tôi có thể ép buộc biên dịch cho x86 không?

+2

Trong Trình quản lý cấu hình (nhấp chuột phải vào giải pháp trong thanh thám hiểm), bạn đã đặt nền tảng thành Win32 chứ không phải x64 chưa? – Archimaredes

+0

Có, nền tảng được đặt thành Win32. Trước đây nó hoạt động tốt, cho đến khi tôi nâng cấp lên VS2012. Nếu tôi chọn Nền tảng dự án mới, tôi có thể chọn giữa tùy chọn Arm, Itanium và x64 - không có x86. – user1763100

+1

(Đó là bởi vì Win32 có nghĩa là cùng một điều như x86 trong VS2012.) Hãy thử đi vào Properties của dự án của bạn -> Linker -> Advanced -> Target Machine và thiết lập nó cho MachineX86. – Archimaredes

Trả lời

6

Tới trang tài sản của dự án của bạn, tìm ra Linker ->nâng cao ->Target Machine tùy chọn, và chắc chắn rằng nó được thiết lập để MachineX86.

1

Đến Build ->Configuration Manager ->tích cực giải pháp nền tảng và thay đổi nó để x86.

Bạn cũng có thể xác nhận Nền tảng dự án cụ thể của mình bằng cách tìm tên dự án trong cùng một cửa sổ và Nền tảng được áp dụng cho nó.

+0

Nền tảng hoạt động được đặt thành Win32, là Nền tảng duy nhất được định cấu hình. Nếu tôi chọn tạo một x86 mới bị thiếu. Bất kỳ ý tưởng? – user1763100

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