Vì vậy, tôi đang cố gắng biên dịch ứng dụng cũ từ 32 bit sang 64 bit .. Tôi biên soạn lại tất cả các thư viện mà nó đã sử dụng và biến nó thành WIN SDK6.0A x64 bit cho libs ..Các biểu tượng bên ngoài chưa được giải quyết trong việc biên dịch ứng dụng 32 bit trong Windows 64
tôi đang sử dụng:
- Visual Studio Professional Edition 2008
- Visual C++
- DotNet Framework 3.5 SP1
- Windows server 2008R2
- Windows SDK là 6.0A
Everythings cuối cùng sắp tới nhưng tôi nhận được các lỗi này biểu tượng không xác định lạ:
error LNK2019: unresolved external symbol InterlockedDecrement referenced in function ...
error LNK2019: unresolved external symbol InterlockedIncrement referenced in function ...
error LNK2019: unresolved external symbol GetModuleBaseName referenced in ...
error LNK2019: unresolved external symbol EnumProcessModules referenced in ...
error LNK2019: unresolved external symbol EnumProcesses referenced in ...
error LNK2019: unresolved external symbol GetProcessMemoryInfo referenced
Vấn đề là đây là tất cả giành chiến thắng cụ từ SDK. InterlockedDec và InterlockedInc đang đến từ kernel32.lib GetModuleBaseName, EnumProcessModules, EnumProcesses, GetProcessMemoryInfo là trong psapi.h mà còn kernel32.lib hoặc psapi.lib
Tôi đã kiểm tra C: \ Program Files \ Microsoft SDKs \ Windows \ v6 .0A \ Lib \ x64 và cả hai libs kernel32.lib và psapi.lib đều có.
Nó chắc chắn tìm kiếm các libs ở đúng vị trí. Tôi đã bật/VERBOSE: LIB và nó trỏ đến thư mục chính xác.
Vì vậy, tôi thực sự bối rối tại sao không phải là nó tìm thấy chúng.
Bất kỳ ý tưởng nào ???
Cảm ơn
Nếu bạn đang sử dụng msvc, bạn có thể sử dụng '#pragma comment (lib," psapi.lib ")' để thêm từ nguồn mã số –
chờ đợi những gì w làm điều này [#pragma comment (lib, "psapi.lib")] làm ??? – grobartn