How to use the static lib of berkeleydb in VC6?
582892Jun 13 2007 — edited Aug 21 2007I know there is a libdb45s.lib. But when I try to link my project to it, VC6 reports many errors. Even the getting start examples cannot link correctly. The documents coming with berkeley db do not tell me how to link project to the lib, no matter static or dynamic.
Could anyone tell me how to use the static lib libdb45s.lib and how to link it properly?
OS: Windows XP pro SP2
IDE: Virsual C++ 6.0 sp6
BDB: 4.5.20
Here is what I have done to link the libdb45s.lib:
1.Add BDB related diretorys to VC6 link/lib dirs
2.Add #include <db.c> to my .cpp file, I use the C API
3.Change Project Options
Link-> Libs/Objects-> add "libdb45s.lib"
C/C++-> code generation-> Use Run Time Library-> MutiThreaded
Link-> Ignore Library-> MSVCRT
4.Build, here is the output, hope it would be some help:
--------------------Configuration: wordseg - Win32
Release--------------------
Linking...
LINK : warning LNK4049: locally defined symbol
"_fflush" imported
LINK : warning LNK4049: locally defined symbol "__iob"
imported
LINK : warning LNK4049: locally defined symbol
"__errno" imported
LINK : warning LNK4049: locally defined symbol
"_malloc" imported
LINK : warning LNK4049: locally defined symbol
"_realloc" imported
LINK : warning LNK4049: locally defined symbol "_free"
imported
LINK : warning LNK4049: locally defined symbol
"_fclose" imported
LINK : warning LNK4049: locally defined symbol
"_fopen" imported
LINK : warning LNK4049: locally defined symbol
"__pctype" imported
LINK : warning LNK4049: locally defined symbol
"___mb_cur_max" imported
LINK : warning LNK4049: locally defined symbol
"__isctype" imported
LINK : warning LNK4049: locally defined symbol
"_strchr" imported
LINK : warning LNK4049: locally defined symbol
"_printf" imported
LINK : warning LNK4049: locally defined symbol
"_strncmp" imported
LINK : warning LNK4049: locally defined symbol
"_strncpy" imported
LINK : warning LNK4049: locally defined symbol "_atol"
imported
LINK : warning LNK4049: locally defined symbol
"_getenv" imported
LINK : warning LNK4049: locally defined symbol
"__open" imported
LINK : warning LNK4049: locally defined symbol
"__close" imported
LINK : warning LNK4049: locally defined symbol
"_strftime" imported
LINK : warning LNK4049: locally defined symbol
"_memmove" imported
LINK : warning LNK4049: locally defined symbol
"_strtoul" imported
LINK : warning LNK4049: locally defined symbol
"_fwrite" imported
LINK : warning LNK4049: locally defined symbol
"_fgetc" imported
LINK : warning LNK4049: locally defined symbol
"_strtol" imported
libdb45s.lib(db_err.obj) : error LNK2001: unresolved
external symbol __imp__strerror
libdb45s.lib(db_getlong.obj) : error LNK2001:
unresolved external symbol __imp__strerror
libdb45s.lib(qam_verify.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(mp_mvcc.obj) : error LNK2001: unresolved
external symbol __imp___snprintf
libdb45s.lib(repmgr_util.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(env_region.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(log_put.obj) : error LNK2001: unresolved
external symbol __imp___snprintf
libdb45s.lib(qam_files.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(db.obj) : error LNK2001: unresolved
external symbol __imp___snprintf
libdb45s.lib(db_err.obj) : error LNK2001: unresolved
external symbol __imp___snprintf
libdb45s.lib(db_pr.obj) : error LNK2001: unresolved
external symbol __imp___snprintf
libdb45s.lib(env_failchk.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(env_register.obj) : error LNK2001:
unresolved external symbol __imp___snprintf
libdb45s.lib(db_err.obj) : error LNK2001: unresolved
external symbol __imp___vsnprintf
libdb45s.lib(log_debug.obj) : error LNK2001:
unresolved external symbol __imp___vsnprintf
libdb45s.lib(db_err.obj) : error LNK2001: unresolved
external symbol __imp__vfprintf
libdb45s.lib(db_err.obj) : error LNK2001: unresolved
external symbol __imp__fprintf
libdb45s.lib(db_pr.obj) : error LNK2001: unresolved
external symbol __imp__fprintf
libdb45s.lib(db_getlong.obj) : error LNK2001:
unresolved external symbol __imp__fprintf
libdb45s.lib(os_errno.obj) : error LNK2001: unresolved
external symbol __imp__WSASetLastError@4
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__WSAGetLastError@0
libdb45s.lib(os_errno.obj) : error LNK2001: unresolved
external symbol __imp__WSAGetLastError@0
libdb45s.lib(repmgr_method.obj) : error LNK2001:
unresolved external symbol __imp__WSAGetLastError@0
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSAGetLastError@0
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__WSAGetLastError@0
libdb45s.lib(env_open.obj) : error LNK2001: unresolved
external symbol __imp__strncat
libdb45s.lib(mut_win32.obj) : error LNK2001:
unresolved external symbol __imp___getpid
libdb45s.lib(os_pid.obj) : error LNK2001: unresolved
external symbol __imp___getpid
libdb45s.lib(txn_chkpt.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(env_stat.obj) : error LNK2001: unresolved
external symbol __imp__time
libdb45s.lib(rep_record.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(rep_backup.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(env_recover.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(txn_region.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(log.obj) : error LNK2001: unresolved
external symbol __imp__time
libdb45s.lib(rep_region.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(db_stati.obj) : error LNK2001: unresolved
external symbol __imp__time
libdb45s.lib(rep_util.obj) : error LNK2001: unresolved
external symbol __imp__time
libdb45s.lib(env_region.obj) : error LNK2001:
unresolved external symbol __imp__time
libdb45s.lib(txn.obj) : error LNK2001: unresolved
external symbol __imp__time
libdb45s.lib(db_idspace.obj) : error LNK2001:
unresolved external symbol __imp__qsort
libdb45s.lib(log_archive.obj) : error LNK2001:
unresolved external symbol __imp__qsort
libdb45s.lib(db_join.obj) : error LNK2001: unresolved
external symbol __imp__qsort
libdb45s.lib(mp_mvcc.obj) : error LNK2001: unresolved
external symbol __imp__qsort
libdb45s.lib(db_meta.obj) : error LNK2001: unresolved
external symbol __imp__qsort
libdb45s.lib(lock_list.obj) : error LNK2001:
unresolved external symbol __imp__qsort
libdb45s.lib(mp_sync.obj) : error LNK2001: unresolved
external symbol __imp__qsort
libdb45s.lib(txn_stat.obj) : error LNK2001: unresolved
external symbol __imp__qsort
libdb45s.lib(rep_record.obj) : error LNK2001:
unresolved external symbol __imp__qsort
libdb45s.lib(os_config.obj) : error LNK2001:
unresolved external symbol __imp__wcscmp
libdb45s.lib(env_config.obj) : error LNK2001:
unresolved external symbol __imp__fgets
libdb45s.lib(repmgr_method.obj) : error LNK2001:
unresolved external symbol __imp__gethostname@8
libdb45s.lib(os_open.obj) : error LNK2001: unresolved
external symbol __imp___snwprintf
libdb45s.lib(os_map.obj) : error LNK2001: unresolved
external symbol __imp___snwprintf
libdb45s.lib(os_unlink.obj) : error LNK2001:
unresolved external symbol __imp___snwprintf
libdb45s.lib(os_dir.obj) : error LNK2001: unresolved
external symbol __imp___snwprintf
libdb45s.lib(os_map.obj) : error LNK2001: unresolved
external symbol __imp__wcsrchr
libdb45s.lib(log_archive.obj) : error LNK2001:
unresolved external symbol __imp___getcwd
libdb45s.lib(lock_stat.obj) : error LNK2001:
unresolved external symbol __imp__localtime
libdb45s.lib(qam_files.obj) : error LNK2001:
unresolved external symbol __imp__strrchr
libdb45s.lib(ctime.obj) : error LNK2001: unresolved
external symbol __imp__ctime
libdb45s.lib(os_clock.obj) : error LNK2001: unresolved
external symbol __imp___ftime
libdb45s.lib(os_uid.obj) : error LNK2001: unresolved
external symbol __imp__rand
libdb45s.lib(os_uid.obj) : error LNK2001: unresolved
external symbol __imp__srand
libdb45s.lib(repmgr_msg.obj) : error LNK2001:
unresolved external symbol __imp__ntohs@4
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__ioctlsocket@12
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSACleanup@0
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__WSACleanup@0
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSAStartup@8
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSASend@28
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSARecv@28
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol
__imp__WSAEnumNetworkEvents@12
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol
__imp__WSAWaitForMultipleEvents@20
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSAEventSelect@12
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__WSAEventSelect@12
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__WSAEventSelect@12
libdb45s.lib(repmgr_windows.obj) : error LNK2001:
unresolved external symbol __imp__WSACreateEvent@0
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__WSACreateEvent@0
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__WSACloseEvent@4
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__WSACloseEvent@4
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__closesocket@4
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__closesocket@4
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__accept@12
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__connect@12
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__socket@12
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__socket@12
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__htonl@4
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__htonl@4
libdb45s.lib(getaddrinfo.obj) : error LNK2001:
unresolved external symbol __imp__htonl@4
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__ntohl@4
libdb45s.lib(repmgr_sel.obj) : error LNK2001:
unresolved external symbol __imp__send@16
libdb45s.lib(repmgr_util.obj) : error LNK2001:
unresolved external symbol __imp__htons@4
libdb45s.lib(getaddrinfo.obj) : error LNK2001:
unresolved external symbol __imp__htons@4
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__listen@8
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__bind@12
libdb45s.lib(repmgr_net.obj) : error LNK2001:
unresolved external symbol __imp__setsockopt@20
libdb45s.lib(getaddrinfo.obj) : error LNK2001:
unresolved external symbol __imp__gethostbyname@4
libdb45s.lib(getaddrinfo.obj) : error LNK2001:
unresolved external symbol __imp__inet_addr@4
Release/wordseg.exe : fatal error LNK1120: 47
unresolved externals
Error executing link.exe.
wordseg.exe - 100 error(s), 25 warning(s)