FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Latest xHarbour Commercial and FWH
Posts: 284
Joined: Mon Oct 24, 2005 08:04 PM
Latest xHarbour Commercial and FWH
Posted: Thu May 15, 2025 04:44 PM

Using FWH 2025.04 and latest xHabour/xBuilder commerical.

Getting the following unresolved externals

xLINK: error: Unresolved external symbol '_HB_FUN_HB_HGET referenced from (Test.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_global_init_mem referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_global_cleanup referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_slist_free_all referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_setopt referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_mime_free referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_cleanup referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_reset referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_duphandle referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_init referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_pause referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_perform referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_send referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_recv referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_mime_init referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_mime_addpart referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_mime_name referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_mime_filedata referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_slist_append referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_getinfo referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_escape referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_free referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_unescape referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_version referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_version_info referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_easy_strerror referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_getdate referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_escape referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: error: Unresolved external symbol '__imp__curl_unescape referenced from hbcurl.lib(hbcurl.obj)'.

xLINK: fatal error: 29 unresolved external(s).

Thanks,

Randal

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Latest xHarbour Commercial and FWH
Posted: Thu May 15, 2025 06:34 PM
Add:
hbcurl.lib
libcurl.lib
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Latest xHarbour Commercial and FWH
Posted: Thu May 15, 2025 07:03 PM

xtranslate hb_HGet( [<x,...>] ) => HGet( <x> )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 284
Joined: Mon Oct 24, 2005 08:04 PM
Re: Latest xHarbour Commercial and FWH
Posted: Thu May 15, 2025 07:28 PM

Thank you for your reply.

xLINK: fatal error: Corrupt library: 'D:\FWH\lib\libcurl.lib'.

Thanks,

Randal

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 08:08 AM
Randal wrote: Thank you for your reply.

xLINK: fatal error: Corrupt library: 'D:\FWH\lib\libcurl.lib'.

Thanks,
Randal
You have to use the one from your xHarbour version.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 08:10 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 284
Joined: Mon Oct 24, 2005 08:04 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 12:47 PM

I am using hbcurl.lib from xhb10291_xcc.zip.

Thanks,

Randal

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 01:07 PM
Randal wrote: I am using hbcurl.lib from xhb10291_xcc.zip.

Thanks,
Randal
Is it working fine now ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 284
Joined: Mon Oct 24, 2005 08:04 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 01:34 PM

Sorry I didn't clarify.

No, it's not working, and I get all the unresolved externals I mentioned.

Thanks,

Randal

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 01:50 PM

Probably you miss to build libcurl.lib for your compiler.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 02:27 PM
lets build it:

1. We create a libcurl.def file using c:\bcc77\bin\impdef.exe

c:\bcc77\bin\impdef libcurl.def libcurl.dll

2. We create the import lib using PellesC polib.exe

polib /def:libcurl.def /out:libcurl.lib

libcurl.def
LIBRARY     LIBCURL.DLL

EXPORTS
    curl_easy_cleanup              @1   ; curl_easy_cleanup
    curl_easy_duphandle            @2   ; curl_easy_duphandle
    curl_easy_escape               @3   ; curl_easy_escape
    curl_easy_getinfo              @4   ; curl_easy_getinfo
    curl_easy_header               @5   ; curl_easy_header
    curl_easy_init                 @6   ; curl_easy_init
    curl_easy_nextheader           @7   ; curl_easy_nextheader
    curl_easy_option_by_id         @8   ; curl_easy_option_by_id
    curl_easy_option_by_name       @9   ; curl_easy_option_by_name
    curl_easy_option_next          @10  ; curl_easy_option_next
    curl_easy_pause                @11  ; curl_easy_pause
    curl_easy_perform              @12  ; curl_easy_perform
    curl_easy_recv                 @13  ; curl_easy_recv
    curl_easy_reset                @14  ; curl_easy_reset
    curl_easy_send                 @15  ; curl_easy_send
    curl_easy_setopt               @16  ; curl_easy_setopt
    curl_easy_ssls_export          @17  ; curl_easy_ssls_export
    curl_easy_ssls_import          @18  ; curl_easy_ssls_import
    curl_easy_strerror             @19  ; curl_easy_strerror
    curl_easy_unescape             @20  ; curl_easy_unescape
    curl_easy_upkeep               @21  ; curl_easy_upkeep
    curl_escape                    @22  ; curl_escape
    curl_formadd                   @23  ; curl_formadd
    curl_formfree                  @24  ; curl_formfree
    curl_formget                   @25  ; curl_formget
    curl_free                      @26  ; curl_free
    curl_getdate                   @27  ; curl_getdate
    curl_getenv                    @28  ; curl_getenv
    curl_global_cleanup            @29  ; curl_global_cleanup
    curl_global_init               @30  ; curl_global_init
    curl_global_init_mem           @31  ; curl_global_init_mem
    curl_global_sslset             @32  ; curl_global_sslset
    curl_global_trace              @33  ; curl_global_trace
    curl_maprintf                  @34  ; curl_maprintf
    curl_mfprintf                  @35  ; curl_mfprintf
    curl_mime_addpart              @36  ; curl_mime_addpart
    curl_mime_data                 @37  ; curl_mime_data
    curl_mime_data_cb              @38  ; curl_mime_data_cb
    curl_mime_encoder              @39  ; curl_mime_encoder
    curl_mime_filedata             @40  ; curl_mime_filedata
    curl_mime_filename             @41  ; curl_mime_filename
    curl_mime_free                 @42  ; curl_mime_free
    curl_mime_headers              @43  ; curl_mime_headers
    curl_mime_init                 @44  ; curl_mime_init
    curl_mime_name                 @45  ; curl_mime_name
    curl_mime_subparts             @46  ; curl_mime_subparts
    curl_mime_type                 @47  ; curl_mime_type
    curl_mprintf                   @48  ; curl_mprintf
    curl_msnprintf                 @49  ; curl_msnprintf
    curl_msprintf                  @50  ; curl_msprintf
    curl_multi_add_handle          @51  ; curl_multi_add_handle
    curl_multi_assign              @52  ; curl_multi_assign
    curl_multi_cleanup             @53  ; curl_multi_cleanup
    curl_multi_fdset               @54  ; curl_multi_fdset
    curl_multi_get_handles         @55  ; curl_multi_get_handles
    curl_multi_info_read           @56  ; curl_multi_info_read
    curl_multi_init                @57  ; curl_multi_init
    curl_multi_perform             @58  ; curl_multi_perform
    curl_multi_poll                @59  ; curl_multi_poll
    curl_multi_remove_handle       @60  ; curl_multi_remove_handle
    curl_multi_setopt              @61  ; curl_multi_setopt
    curl_multi_socket              @62  ; curl_multi_socket
    curl_multi_socket_action       @63  ; curl_multi_socket_action
    curl_multi_socket_all          @64  ; curl_multi_socket_all
    curl_multi_strerror            @65  ; curl_multi_strerror
    curl_multi_timeout             @66  ; curl_multi_timeout
    curl_multi_wait                @67  ; curl_multi_wait
    curl_multi_waitfds             @68  ; curl_multi_waitfds
    curl_multi_wakeup              @69  ; curl_multi_wakeup
    curl_mvaprintf                 @70  ; curl_mvaprintf
    curl_mvfprintf                 @71  ; curl_mvfprintf
    curl_mvprintf                  @72  ; curl_mvprintf
    curl_mvsnprintf                @73  ; curl_mvsnprintf
    curl_mvsprintf                 @74  ; curl_mvsprintf
    curl_pushheader_byname         @75  ; curl_pushheader_byname
    curl_pushheader_bynum          @76  ; curl_pushheader_bynum
    curl_share_cleanup             @77  ; curl_share_cleanup
    curl_share_init                @78  ; curl_share_init
    curl_share_setopt              @79  ; curl_share_setopt
    curl_share_strerror            @80  ; curl_share_strerror
    curl_slist_append              @81  ; curl_slist_append
    curl_slist_free_all            @82  ; curl_slist_free_all
    curl_strequal                  @83  ; curl_strequal
    curl_strnequal                 @84  ; curl_strnequal
    curl_unescape                  @85  ; curl_unescape
    curl_url                       @86  ; curl_url
    curl_url_cleanup               @87  ; curl_url_cleanup
    curl_url_dup                   @88  ; curl_url_dup
    curl_url_get                   @89  ; curl_url_get
    curl_url_set                   @90  ; curl_url_set
    curl_url_strerror              @91  ; curl_url_strerror
    curl_version                   @92  ; curl_version
    curl_version_info              @93  ; curl_version_info
    curl_ws_meta                   @94  ; curl_ws_meta
    curl_ws_recv                   @95  ; curl_ws_recv
    curl_ws_send                   @96  ; curl_ws_send
created library:
https://github.com/FiveTechSoft/FWH_tools/blob/master/pellesc/libcurl.lib
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 284
Joined: Mon Oct 24, 2005 08:04 PM
Re: Latest xHarbour Commercial and FWH
Posted: Fri May 16, 2025 06:20 PM

Antonio,

Using this libcurl.lib and libcurl.dll worked.

Thank you for all your help.

Randal

Continue the discussion