views:

66

answers:

0

Hello,

I'm dealing with this issue: We have recently upgraded to VS2010 and I am working on recompiling all of our software tools in '10. One of these tools in VC++ was created by an outside vendor. We have the source code for this tool (fairly old) and its required dll (also fairly old), although we don't have the source for the dll. The problem arises when I build the project and get several unresolved externals (LNK2019). I've used a dll export viewer and verified that the dll is in fact exporting the right functions, and I've experimented with a few other workarounds to no avail. The only explanation I can come up with is that the dll, likely built in VS2005, also needs to be rebuilt in VS2010 - although my experience (which I admit is limited) tells me that this should not be necessary.

My question is: Is this really an issue? Does a dll built in an older version of VS need to be rebuilt in the version that the project that uses it is currently using?

I can provide more details if necessary.

Thank you,

Andy

Dump of file usbcan32.dll

File Type: DLL

Section contains the following imports:

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

Summary

    3000 .data
    6000 .rdata
    2000 .reloc
    1000 .rsrc
   11000 .text