Page 1 of 2

CVS Link Error. 8.03 Version. Help me please

Posted: Wed Apr 09, 2008 1:46 am
by yunbg1
Hi Antonio

8.03 upgrade -> compile / link error
The upgrade like this error is born after

//------------------------------------------
set hdir=d:\harbour_vc
set vcdir=d:\vc98
set fwdir=d:\fwh24

set include=%vcdir%\include;%hdir%\include;%fwdir%\include;
set lib=%vcdir%\lib;%hdir%\lib;%fwdir%\lib;

%hdir%\bin\harbour main.prg /n /i%hdir%\include;%fwdir%\include; /p %2 %3
%hdir%\bin\harbour sql.prg /n /i%hdir%\include;%fwdir%\include; /p %2 %3
%hdir%\bin\harbour socket.prg /n /i%hdir%\include;%fwdir%\include; /p %2 %3

%vcdir%\bin\cl -TP -W3 -c /GA main.c
%vcdir%\bin\cl -TP -W3 -c /GA sql.c
%vcdir%\bin\cl -TP -W3 -c /GA socket.c

IF EXIST main.rc %vcdir%\bin\rc -r -d__FLAT__ main

echo main.obj socket.obj sql.obj > msvc.tmp

echo %fwdir%\lib\Fivehm.lib %fwdir%\lib\FiveHcm.lib >> msvc.tmp

echo %hdir%\lib\rtl.lib >> msvc.tmp
echo %hdir%\lib\vm.lib >> msvc.tmp
echo %hdir%\lib\gui.lib >> msvc.tmp
echo %hdir%\lib\gtwin.lib >> msvc.tmp
echo %hdir%\lib\lang.lib >> msvc.tmp
echo %hdir%\lib\macro.lib >> msvc.tmp
echo %hdir%\lib\rdd.lib >> msvc.tmp
echo %hdir%\lib\dbfntx.lib >> msvc.tmp
echo %hdir%\lib\dbfcdx.lib >> msvc.tmp
echo %hdir%\lib\dbffpt.lib >> msvc.tmp
echo %hdir%\lib\hbsix.lib >> msvc.tmp
echo %hdir%\lib\debug.lib >> msvc.tmp
echo %hdir%\lib\common.lib >> msvc.tmp
echo %hdir%\lib\pp.lib >> msvc.tmp
echo %hdir%\lib\codepage.lib >> msvc.tmp

echo %vcdir%\lib\kernel32.lib >> msvc.tmp
echo %vcdir%\lib\user32.lib >> msvc.tmp
echo %vcdir%\lib\gdi32.lib >> msvc.tmp
echo %vcdir%\lib\winspool.lib >> msvc.tmp
echo %vcdir%\lib\comctl32.lib >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib >> msvc.tmp
echo %vcdir%\lib\advapi32.lib >> msvc.tmp
echo %vcdir%\lib\shell32.lib >> msvc.tmp
echo %vcdir%\lib\ole32.lib >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib >> msvc.tmp
echo %vcdir%\lib\uuid.lib >> msvc.tmp
echo %vcdir%\lib\odbc32.lib >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib >> msvc.tmp
echo %vcdir%\lib\iphlpapi.lib >> msvc.tmp
echo %vcdir%\lib\mpr.lib >> msvc.tmp
echo %vcdir%\lib\version.lib >> msvc.tmp
echo %vcdir%\lib\wsock32.lib >> msvc.tmp
echo %vcdir%\lib\oledlg.lib >> msvc.tmp
echo %vcdir%\lib\vfw32.lib >> msvc.tmp

IF EXIST main.res echo main.res >> msvc.tmp

%vcdir%\bin\link @msvc.tmp /nologo /subsystem:windows /force:multiple


//-----------------------comfile and link-----------------------------
//-----------------------comfile and link-----------------------------
//-----------------------comfile and link-----------------------------
//-----------------------comfile and link-----------------------------

Compiling...
Harbour devel build 1.1-1 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'main.prg' and generating preprocessed output to 'main.ppo'...
Lines 5872, Functions/Procedures 40
Generating C source output to 'main.c'... Done.

Harbour devel build 1.1-1 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'sql.prg' and generating preprocessed output to 'sql.ppo'...
Lines 4222, Functions/Procedures 11
Generating C source output to 'sql.c'... Done.

Harbour devel build 1.1-1 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'socket.prg' and generating preprocessed output to 'socket.ppo'...
Lines 3585, Functions/Procedures 4
Generating C source output to 'socket.c'... Done.

main.c
sql.c
socket.c
FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
Creating library main.lib and object main.exp
Fivehm.lib(ERRSYSW.obj) : error LNK2001: unresolved external symbol _HB_FUN_HB_GT_GUI
Fivehm.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_CREATEOBJECT
Fivehm.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_GETACTIVEOBJECT
main.exe : fatal error LNK1120: 3 unresolved externals
* There are errors

Posted: Wed Apr 09, 2008 9:44 am
by Antonio Linares
Please link GTGUI.lib instead of GTWIN.lib

Posted: Wed Apr 09, 2008 12:32 pm
by yunbg1
Hi Antonio Linares
Please link GTGUI.lib instead of GTWIN.lib


It is an error where the result is same as well.
It puts in the GUI.LIB but it draws out but.
Directness it tried to do

[here->]

echo %fwdir%\lib\Fivehm.lib %fwdir%\lib\FiveHcm.lib >> msvc.tmp
echo %hdir%\lib\rtl.lib >> msvc.tmp
echo %hdir%\lib\vm.lib >> msvc.tmp
echo %hdir%\lib\gui.lib >> msvc.tmp
echo %hdir%\lib\gtgui.lib >> msvc.tmp

echo %hdir%\lib\lang.lib >> msvc.tmp
echo %hdir%\lib\macro.lib >> msvc.tmp
echo %hdir%\lib\rdd.lib >> msvc.tmp
echo %hdir%\lib\dbfntx.lib >> msvc.tmp
echo %hdir%\lib\dbfcdx.lib >> msvc.tmp
echo %hdir%\lib\dbffpt.lib >> msvc.tmp
echo %hdir%\lib\hbsix.lib >> msvc.tmp
echo %hdir%\lib\debug.lib >> msvc.tmp
echo %hdir%\lib\common.lib >> msvc.tmp
echo %hdir%\lib\pp.lib >> msvc.tmp
echo %hdir%\lib\codepage.lib >> msvc.tmp
rem echo %hdir%\lib\hboleaut.lib >> msvc.tmp

echo %vcdir%\lib\kernel32.lib >> msvc.tmp
echo %vcdir%\lib\user32.lib >> msvc.tmp
echo %vcdir%\lib\gdi32.lib >> msvc.tmp
echo %vcdir%\lib\winspool.lib >> msvc.tmp
echo %vcdir%\lib\comctl32.lib >> msvc.tmp
echo %vcdir%\lib\comdlg32.lib >> msvc.tmp
echo %vcdir%\lib\advapi32.lib >> msvc.tmp
echo %vcdir%\lib\shell32.lib >> msvc.tmp
echo %vcdir%\lib\ole32.lib >> msvc.tmp
echo %vcdir%\lib\oleaut32.lib >> msvc.tmp
echo %vcdir%\lib\uuid.lib >> msvc.tmp
echo %vcdir%\lib\odbc32.lib >> msvc.tmp
echo %vcdir%\lib\odbccp32.lib >> msvc.tmp
echo %vcdir%\lib\iphlpapi.lib >> msvc.tmp
echo %vcdir%\lib\mpr.lib >> msvc.tmp
echo %vcdir%\lib\version.lib >> msvc.tmp
echo %vcdir%\lib\wsock32.lib >> msvc.tmp
echo %vcdir%\lib\oledlg.lib >> msvc.tmp
echo %vcdir%\lib\vfw32.lib >> msvc.tmp


[com[ple...->]

Compiling...
Harbour devel build 1.1-1 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'main.prg' and generating preprocessed output to 'main.ppo'...
Generating C source output to 'main.c'... Done.

Harbour devel build 1.1-1 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'sql.prg' and generating preprocessed output to 'sql.ppo'...
Generating C source output to 'sql.c'... Done.

main.c
sql.c

FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
Creating library main.lib and object main.exp
Fivehm.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_CREATEOBJECT
Fivehm.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_GETACTIVEOBJECT
main.exe : fatal error LNK1120: 2 unresolved externals
* There are errors

Posted: Wed Apr 09, 2008 6:47 pm
by Antonio Linares
These two symbols should be provided by Harbour:
_HB_FUN_CREATEOBJECT
_HB_FUN_GETACTIVEOBJECT

We are going to review it. In the meantime you can add these two functions to your main PRG:
function CreateObject() ; return nil
function GetActiveObject() ; return nil

Posted: Thu Apr 10, 2008 3:01 am
by yunbg1
Thank you. Antonio.

The Upgrade it does but and there is it is knowing the possibility of doing how there is like this problem and solution

8.03 Version upgrade.

The Mouse 'oBut:Drag=.t.' this error is born at click hour

Code: Select all

@ 10, 10 BUTTONBMP oBut PROMPT "12" OF oWndT SIZE 40, 40 PIXEL FONT oFont3 
oBut:lDrag:= .t.
Image

Posted: Thu Apr 10, 2008 6:41 am
by Antonio Linares
Are you using XP or Vista ?

Posted: Thu Apr 10, 2008 6:46 am
by Antonio Linares
These two symbols should be provided by Harbour:
_HB_FUN_CREATEOBJECT
_HB_FUN_GETACTIVEOBJECT
You need to link hbwin32.lib from Harbour libraries.

Those symbols should be only required if you use xHarbour. Are you sure that you are compiling using Harbour ?

Posted: Thu Apr 10, 2008 7:01 am
by yunbg1
Hi Antonio Linares

My OS -> WINXP SP2 PRO

Ok. I know.

BCC55
/habour_bc/lib/hbwin32.lib found !!!.

CVS
/habour_vc/lib/hbwin32.lib not found !!!.
where is this.

Posted: Thu Apr 10, 2008 7:39 am
by Antonio Linares

Posted: Thu Apr 10, 2008 8:53 am
by yunbg1
Hi Antonio

link add hbwin32.lib ->

this link error ?

FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_ANSITOWIDE already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_WIDETOANSI already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLESHOWEXCEPTION already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLE2TXTERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_MESSAGEBOX already defined in FiveHcm.lib(MSGS.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_CREATEOLEOBJECT already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEADDREF already defined in FiveHcm.lib(ole.obj); second definition ignored
FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_ANSITOWIDE already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_WIDETOANSI already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLESHOWEXCEPTION already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLE2TXTERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_MESSAGEBOX already defined in FiveHcm.lib(MSGS.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_CREATEOLEOBJECT already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEADDREF already defined in FiveHcm.lib(ole.obj); second definition ignored
Creating library main.lib and object main.exp
hbwin32.lib(w32_ole.obj) : error LNK2001: unresolved external symbol _hb_itemPutCLConst
main.exe : fatal error LNK1120: 1 unresolved externals
* There are errors

Posted: Thu Apr 10, 2008 9:00 am
by Antonio Linares
Please add this code to your main PRG:

Code: Select all

#pragma BEGINDUMP

#include <hbapi.h>
#include <hbapiitm.h>

PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen )
{
   return hb_itemPutCL( pItem, szText, ulLen );
}

#pragma ENDDUMP

Posted: Thu Apr 10, 2008 10:35 am
by yunbg1
It is a Same error.
In the world or the bay it is like this?

Code: Select all

//------------------------------------------------------------------------------
#pragma BEGINDUMP

#include <windows.h>
#include <vfw.h>
#include "hbapi.h"
#include "hbapiitm.h" 

PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen ) 
{ 
   return hb_itemPutCL( pItem, szText, ulLen ); 
} 
#pragma ENDDUMP


Posted: Thu Apr 10, 2008 11:55 am
by Antonio Linares
What error do you get now ?

Posted: Thu Apr 10, 2008 12:58 pm
by yunbg1
Antonio Linares wrote:What error do you get now ?
this link error ?

FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_ANSITOWIDE already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_WIDETOANSI already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLESHOWEXCEPTION already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLE2TXTERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_MESSAGEBOX already defined in FiveHcm.lib(MSGS.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_CREATEOLEOBJECT already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEADDREF already defined in FiveHcm.lib(ole.obj); second definition ignored
FiveHcm.lib(CURSORS.obj) : warning LNK4006: _HB_FUN_CURSORNO already defined in Fivehm.lib(CONTROL.obj); second definition ignored
gtgui.lib(gtgui.obj) : warning LNK4006: _HB_FUN_HB_GT_GUI_DEFAULT already defined in Fivehm.lib(ERRSYSW.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_ANSITOWIDE already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_WIDETOANSI already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLESHOWEXCEPTION already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLE2TXTERROR already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_MESSAGEBOX already defined in FiveHcm.lib(MSGS.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_CREATEOLEOBJECT already defined in FiveHcm.lib(ole.obj); second definition ignored
hbwin32.lib(w32_ole.obj) : warning LNK4006: _HB_FUN_OLEADDREF already defined in FiveHcm.lib(ole.obj); second definition ignored
Creating library main.lib and object main.exp
hbwin32.lib(w32_ole.obj) : error LNK2001: unresolved external symbol _hb_itemPutCLConst
main.exe : fatal error LNK1120: 1 unresolved externals
* There are errors

Posted: Thu Apr 10, 2008 6:24 pm
by Antonio Linares
Have you added this code to your main PRG ?

Code: Select all

#pragma BEGINDUMP 

#include "hbapi.h" 
#include "hbapiitm.h" 

PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen ) 
{ 
   return hb_itemPutCL( pItem, szText, ulLen ); 
} 
#pragma ENDDUMP