Показаны сообщения с ярлыком mssql. Показать все сообщения
Показаны сообщения с ярлыком mssql. Показать все сообщения

четверг, 10 января 2013 г.

Eliminate errors compile FreeTDS on Windows | Устранение ошибок компиляции FreeTDS на Windows

If you compile FreeTDS for Windows and get nmake error that looks like this:
   Creating library Release_TS\php_dblib.lib and object Release_TS\php_dblib.exp

dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tdsdump_log referenced in function _dblib_add_connection
dblib.lib(rpc.obj) : error LNK2001: unresolved external symbol _tdsdump_log
dblib.lib(dbutil.obj) : error LNK2001: unresolved external symbol _tdsdump_log
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_alloc_context referenced in function _dblib_get_tds_ctx
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_context referenced in function _dblib_release_tds_ctx
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_results referenced in function _buffer_free_row
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_row referenced in function _buffer_free_row
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_alloc_rowreferenced in function _buffer_save_row
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_strlcpy referenced in function _db_env_chg
dblib.lib(rpc.obj) : error LNK2001: unresolved external symbol _tds_strlcpy
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_login referenced in function _dbloginfree
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_bulk referenced in function _dbsetlbool
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_willconvert referenced in function _dbwillconvert
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_prtype referenced in function _dbprtype
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_vstrbuildreferenced in function _dbperror
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_library referenced in function _dblogin
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_alloc_login referenced in function _dblogin
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_language referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_client_charset referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_app referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_passwd referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_user referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_host referenced in function _dbsetlname
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_packet referenced in function _dbsetllong
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_process_tokens referenced in function __dbresults
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tdsdump_dump_buf referenced in function _dbsetnull
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_convert referenced in function _dbconvert
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_get_size_by_type referenced in function _dbconvert
dblib.lib(rpc.obj) : error LNK2001: unresolved external symbol _tds_get_size_by_type
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_get_conversion_type referenced in function _dbbind
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_interfaces_file_loc referenced in function _dbsetifile
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_process_cancel referenced in function _dbcancel
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_send_cancel referenced in function _dbcancel
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_strftime referenced in function _dbspr1row
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_datecrackreferenced in function _dbspr1row
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _asprintf referenced in function _dbsetopt
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_peek referenced in function _dbsqlok
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_flush_packet referenced in function _dbsqlok
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_statereferenced in function _dbmoretext
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_put_n referenced in function _dbmoretext
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_submit_query referenced in function _dbsqlsend
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_socket referenced in function _dbclose
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _STD_DATETIME_FMT referenced in function _dbprrow
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_put_int referenced in function _dbwritetext
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_process_simple_query referenced in function _dbwritetext
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_submit_queryf referenced in function _dbwritetext
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_free_connection referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_connect referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_read_config_info referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_parent referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_alloc_socket referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_set_server referenced in function _tdsdbopen
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _vasprintf referenced in function _dbfcmd
dblib.lib(dblib.obj) : error LNK2019: unresolved external symbol _tds_quote_id referenced in function _dbuse
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_alloc_param_data referenced in function _param_row_alloc
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_free_param_results referenced in function _param_info_alloc
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_set_param_type referenced in function _param_info_alloc
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_get_null_type referenced in function _param_info_alloc
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_alloc_param_result referenced in function _param_info_alloc
dblib.lib(rpc.obj) : error LNK2019: unresolved external symbol _tds_submit_rpc referenced in function _dbrpcsend
dblib.lib(dbutil.obj) : error LNK2019: unresolved external symbol _tds_set_version referenced in function __dblib_setTDS_version
Release_TS\php_dblib.dll : fatal error LNK1120: 57 unresolved externals
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\BIN\c
l.exe"' : return code '0x2'
Stop.
That means that you need to open Makefile in a text editor, find the line:
LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib  
And add library libTDS.lib:
LIBS=libTDS.lib kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib 
Also, the library must be copied to a folder of your libs compiled. The library itself can be found in one of the folders where you copied dblib.lib.

Then again run nmake and finish compiling.