Tôi đang cố gắng để sử dụng ví dụ WMI từ MSDN:WMI Linker Error on x64
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384724%28v=vs.85%29.aspx
tôi đã sao chép các thiết lập cuối cùng của mã có đúng nguyên văn vào một ứng dụng giao diện điều khiển trong VS2008. Nếu tôi có ứng dụng trong bản phát hành hoặc gỡ lỗi cho nền tảng win32, nó biên dịch (và chạy) tốt. Nếu tôi có nó trong phát hành hoặc gỡ lỗi cho nền tảng x64, tôi nhận được lỗi mối liên kết sau đây:
CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemConfigureRefresher
CppConsole.obj : error LNK2001: unresolved external symbol CLSID_WbemRefresher
CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemRefresher
CppConsole.obj : error LNK2001: unresolved external symbol CLSID_WbemLocator
CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemLocator
fatal error LNK1120: 5 unresolved externals
Tôi đã thử đặt wbemuuid.lib vào đầu vào mối liên kết trực tiếp trong các thuộc tính dự án, nhưng didn rằng không tạo sự khác biệt từ pragma.
Có ai đã thực hiện công việc này với x64 không? Hay có điều gì khác tôi đang làm sai?
Tôi chỉ tạo một ứng dụng giao diện điều khiển C++ mới sử dụng vs2008, x64 và biên dịch và chạy ok. Vì vậy, vấn đề của bạn phải liên quan đến một số tập tin hoặc cấu hình bị thiếu. – RRUZ
Thử kiểm tra phiên bản Microsoft SDK nào bạn đã cài đặt và nếu tệp 'wbemuuid.lib' tồn tại ở vị trí này 'C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Lib \ x64' – RRUZ
@RRUZ Tôi chỉ có tối đa 5.0 cài đặt và không có thư mục x64. Tôi sẽ tìm nơi để D/L MS SDK từ và xem nếu nó hoạt động. Nếu bạn trả lời bằng câu trả lời bên dưới thay vì nhận xét, tôi có thể sẽ đánh dấu là "đúng" nếu đây là gốc của vấn đề. –