Проблемы с DLL после обновления с VS2008 до VS2010 - PullRequest
1 голос
/ 05 августа 2010

Я имею дело с этой проблемой: мы недавно обновились до VS2010, и я работаю над перекомпиляцией всех наших программных инструментов в '10. Один из этих инструментов в VC ++ был создан сторонним поставщиком. У нас есть исходный код для этого инструмента (довольно старый) и требуемый dll (также довольно старый), хотя у нас нет исходного кода для dll. Проблема возникает, когда я строю проект и получаю несколько неразрешенных внешних компонентов (LNK2019). Я использовал программу просмотра экспорта dll и убедился, что dll действительно экспортирует нужные функции, и я экспериментировал с несколькими другими обходными путями, но безрезультатно. Единственное объяснение, которое я могу придумать, заключается в том, что dll, вероятно, встроенный в VS2005, также должен быть перестроен в VS2010 - хотя мой опыт (который я признаю ограниченным) говорит мне, что в этом не должно быть необходимости.

Мой вопрос: действительно ли это проблема? Нужно ли перестраивать dll, встроенную в более старую версию VS, в версию, которую использует проект, который использует ее в настоящее время?

При необходимости могу предоставить более подробную информацию.

Спасибо,

Andy

Дамп файла usbcan32.dll

Тип файла: DLL

Раздел содержит следующий импорт:

SETUPAPI.dll
          10012188 Import Address Table
          10016E8C Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

              12D SetupDiGetClassDevsA
              11F SetupDiEnumDeviceInterfaces
              143 SetupDiGetDeviceInterfaceDetailA

VERSION.dll
          100121D4 Import Address Table
          10016ED8 Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

                0 GetFileVersionInfoA
                A VerQueryValueA
                1 GetFileVersionInfoSizeA

KERNEL32.dll
          10012020 Import Address Table
          10016D24 Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

              347 Sleep
              169 GetLastError
              21E InterlockedDecrement
              247 LeaveCriticalSection
               8F EnterCriticalSection
              309 SetEvent
              383 WaitForSingleObject
               49 CreateEventA
              1F5 GlobalFree
              200 GlobalUnlock
              1F9 GlobalLock
              1EE GlobalAlloc
              1E9 GetWindowsDirectoryA
              219 InitializeCriticalSection
               7A DeleteCriticalSection
               2E CloseHandle
               24 CancelIo
              2B6 ReleaseMutex
              381 WaitForMultipleObjects
              271 OpenEventA
              278 OpenMutexA
               5A CreateMutexA
               7C DeleteFileA
              1DF GetVersionExA
              1BE GetSystemTime
              175 GetModuleFileNameA
              177 GetModuleHandleA
              378 VirtualLock
              373 VirtualAlloc
              18B GetOEMCP
              376 VirtualFree
              2C5 ResumeThread
              222 InterlockedIncrement
              25E MapViewOfFile
               4E CreateFileMappingA
              13B GetCurrentProcessId
              363 UnmapViewOfFile
               83 DeviceIoControl
              252 LocalFree
               EA FormatMessageA
               4D CreateFileA
              2A9 ReadFile
              394 WriteFile
              18C GetOverlappedResult
              336 SetThreadPriority
               69 CreateThread
               F5 GetACP
              32A SetStdHandle
               FC GetCPInfo
              16C GetLocaleInfoA
              21F InterlockedExchange
              2CA RtlUnwind
              1B1 GetStdHandle
              248 LoadLibraryA
              360 UnhandledExceptionFilter
              14F GetEnvironmentStringsW
               EE FreeEnvironmentStringsW
              14D GetEnvironmentStrings
               ED FreeEnvironmentStringsA
              212 HeapSize
              303 SetEndOfFile
              1B2 GetStringTypeA
              15E GetFileType
              1AF GetStartupInfoA
              20A HeapDestroy
              1D5 GetTickCount
              1B5 GetStringTypeW
              210 HeapReAlloc
               AF ExitProcess
              20C HeapFree
              206 HeapAlloc
              108 GetCommandLineA
              297 QueryPerformanceCounter
              13E GetCurrentThreadId
              1C0 GetSystemTimeAsFileTime
              379 VirtualProtect
              1BB GetSystemInfo
              37B VirtualQuery
              23A LCMapStringA
              387 WideCharToMultiByte
              26B MultiByteToWideChar
              23B LCMapStringW
              198 GetProcAddress
              34F TerminateProcess
              13A GetCurrentProcess
              30E SetFilePointer
               E5 FlushFileBuffers
              317 SetHandleCount
              208 HeapCreate

USER32.dll
          100121A0 Import Address Table
          10016EA4 Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

              1DE MessageBoxA
              216 RegisterClassA
               60 CreateWindowExA
              13A GetMessageA
              2AA TranslateMessage
              2B5 UnregisterDeviceNotification
               99 DestroyWindow
              203 PostQuitMessage
              21C RegisterDeviceNotificationA
               8E DefWindowProcA
              201 PostMessageA
               A1 DispatchMessageA

ADVAPI32.dll
          10012000 Import Address Table
          10016D04 Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

              1E2 RegOpenKeyExA
              1CD RegCreateKeyExA
              1F9 RegSetValueExA
              1E1 RegOpenKeyA
              1EC RegQueryValueExA
              1C9 RegCloseKey
               55 ConvertStringSecurityDescriptorToSecurityDescriptorA

SHELL32.dll
          10012198 Import Address Table
          10016E9C Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

               AF SHGetFolderPathA

Резюме

    3000 .data
    6000 .rdata
    2000 .reloc
    1000 .rsrc
   11000 .text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...