Build.bat for MSVC 2015

Build.bat for MSVC 2015

Postby TimStone » Mon Apr 04, 2016 9:32 pm

I have successfully been able to use the MSVC 2015 ( Community ) IDE to build both 32 bit and 64 bit versions of my application ( with nearly 100 .prg files ).

Prior to 16.03, I had no problem with UE Studio building a Harbour / MSVC 2013 / FWH app ( up to 16.02 ). However, with VS / VC 2015, Microsoft made some definite changes and I am apparently not finding the right libraries. I've tried a lot of options, but no go.

So, the easiest thing would be for me to create 2 Build.bat files that work with multiple .prg files, and a .rc file. Build64.bat works fine for 1 file with no resources, but I need to do the whole application.

Can someone post a sample build32 and build64 batch files that handle multiple .prg files, and an .rc file ? It needs to be specific to MSVC 2015 ( Community ), Harbour, and FWH 16.03.

Thank you. From that I can create what I need.

For those who wonder why not use the IDE builds ? I have one issue for sure, and that has to do with checkboxes and radio buttons. When there are multiple of these in a dialog, if I check on one, the text for it ( and other entries ) disappears. It's funny, but my build from .mak files ( which is what UE Studio created but not successfully for 2015 ) do not have that problem, so apparently the IDE is bringing in a .lib that has an issue ....

Tim
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Mon Apr 04, 2016 9:43 pm

Tim,

To build an app using nearly 100 prgs you should use a batch and a makefile as explained here:

viewtopic.php?p=162896#p162896
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby TimStone » Wed Apr 06, 2016 7:30 pm

Here is the .mak file, but I get the error mak(27) : fatal error U1034: syntax error : separator missing

Line 27 references mServiceHistory.prg

Code: Select all  Expand view

#Microsoft VS2015 make sample, (c) FiveTech Software 2014

HBDIR=c:\harbour
FWDIR=c:\fwh64
VCDIR="c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
SDKDIR="c:\Program Files (x86)\Windows Kits\8.1"
hdirl=%HBDIR%\lib\vc64

PRGS =       \
c:\Projects\MLS2015\Source\TDATA.PRG \
c:\Projects\MLS2015\Source\emskey.prg \
c:\Projects\MLS2015\Source\TRecord.prg \
c:\Projects\MLS2015\Source\TSEARCH.PRG \
c:\Projects\MLS2015\Source\mInvPartsPicklist.PRG    \
c:\Projects\MLS2015\Source\mLaborGlossary.prg   \
c:\Projects\MLS2015\Source\mServiceKits.PRG \
c:\Projects\MLS2015\Source\RPTglossary.prg \
c:\Projects\MLS2015\Source\mLaborChart.prg  \
c:\Projects\MLS2015\Source\mWrkQuote.prg    \
c:\Projects\MLS2015\Source\MLSphonebook.prg \
c:\Projects\MLS2015\Source\mTimeclocks.prg  \
c:\Projects\MLS2015\Source\MLSnotebook.prg  \
c:\Projects\MLS2015\Source\MLSphotos.prg    \
c:\Projects\MLS2015\Source\MLSmessagecenter.prg \
c:\Projects\MLS2015\Source\mWorkClose.prg   \
c:\Projects\MLS2015\Source\mFileIndex.prg   \
c:\Projects\MLS2015\Source\mServiceHistory.prg \
c:\Projects\MLS2015\Source\G_GRAPH.PRG  \
c:\Projects\MLS2015\Source\G_SERVER.PRG \
c:\Projects\MLS2015\Source\QBCUST.PRG   \
c:\Projects\MLS2015\Source\mCustomer.prg    \
c:\Projects\MLS2015\Source\aswEmail.prg \
c:\Projects\MLS2015\Source\mClientFollowUp.prg \
c:\Projects\MLS2015\Source\mTextEditor.prg \
c:\Projects\MLS2015\Source\mClientUtilities.prg \
c:\Projects\MLS2015\Source\mPMscheduler.prg \
c:\Projects\MLS2015\Source\RPTclient.prg    \
c:\Projects\MLS2015\Source\MLScalendar.prg  \
c:\Projects\MLS2015\Source\mInvPurchaseOrder.prg \
c:\Projects\MLS2015\Source\mInvReturn.prg   \
c:\Projects\MLS2015\Source\mInvCore.PRG \
c:\Projects\MLS2015\Source\RPTinventory.prg \
c:\Projects\MLS2015\Source\mInvUtilities.prg    \
c:\Projects\MLS2015\Source\BldComp.PRG  \
c:\Projects\MLS2015\Source\emswab.prg   \
c:\Projects\MLS2015\Source\InspChk.PRG  \
c:\Projects\MLS2015\Source\MLSAutoFU.prg    \
c:\Projects\MLS2015\Source\MLSEditor.prg \
c:\Projects\MLS2015\Source\NumCnv.prg   \
c:\Projects\MLS2015\Source\StrucEdit.prg    \
c:\Projects\MLS2015\Source\rpreview.prg \
c:\Projects\MLS2015\Source\tCalc.prg    \
c:\Projects\MLS2015\Source\utillog.prg  \
c:\Projects\MLS2015\Source\ViewWOStatus.prg \
c:\Projects\MLS2015\Source\webmap.prg   \
c:\Projects\MLS2015\Source\woaudt.prg \
c:\Projects\MLS2015\Source\mWorkOrders.prg \
c:\Projects\MLS2015\Source\mWorkPrint.prg \
c:\Projects\MLS2015\Source\mARaccounts.PRG \
c:\Projects\MLS2015\Source\mARtransactions.PRG \
c:\Projects\MLS2015\Source\RPTreceivables.prg \
c:\Projects\MLS2015\Source\mARutilities.prg \
c:\Projects\MLS2015\Source\mAPaccounts.PRG \
c:\Projects\MLS2015\Source\mAPtransactions.PRG \
c:\Projects\MLS2015\Source\TDATA.PRG \
c:\Projects\MLS2015\Source\emskey.prg \
c:\Projects\MLS2015\Source\mls_func.prg \
c:\Projects\MLS2015\Source\MSGDATE.PRG \
c:\Projects\MLS2015\Source\PROSPELL.PRG \
c:\Projects\MLS2015\Source\TRecord.prg \
c:\Projects\MLS2015\Source\TSEARCH.PRG \
c:\Projects\MLS2015\Source\mInvPartsPicklist.PRG \
c:\Projects\MLS2015\Source\mLaborGlossary.prg \
c:\Projects\MLS2015\Source\mServiceKits.PRG \
c:\Projects\MLS2015\Source\RPTglossary.prg \
c:\Projects\MLS2015\Source\mLaborChart.prg \
c:\Projects\MLS2015\Source\mWrkQuote.prg \
c:\Projects\MLS2015\Source\MLSphonebook.prg \
c:\Projects\MLS2015\Source\mTimeclocks.prg \
c:\Projects\MLS2015\Source\MLSnotebook.prg \
c:\Projects\MLS2015\Source\MLSphotos.prg \
c:\Projects\MLS2015\Source\MLSmessagecenter.prg \
c:\Projects\MLS2015\Source\mWorkClose.prg \
c:\Projects\MLS2015\Source\mFileIndex.prg \
c:\Projects\MLS2015\Source\mServiceHistory.prg \
c:\Projects\MLS2015\Source\G_GRAPH.PRG \
c:\Projects\MLS2015\Source\G_SERVER.PRG \
c:\Projects\MLS2015\Source\QBCUST.PRG \
c:\Projects\MLS2015\Source\mCustomer.prg \
c:\Projects\MLS2015\Source\aswEmail.prg \
c:\Projects\MLS2015\Source\mClientFollowUp.prg \
c:\Projects\MLS2015\Source\mTextEditor.prg \
c:\Projects\MLS2015\Source\mClientUtilities.prg \
c:\Projects\MLS2015\Source\mPMscheduler.prg \
c:\Projects\MLS2015\Source\RPTclient.prg \
c:\Projects\MLS2015\Source\MLScalendar.prg \
c:\Projects\MLS2015\Source\mInvPurchaseOrder.prg \
c:\Projects\MLS2015\Source\mInvReturn.prg \
c:\Projects\MLS2015\Source\mInvCore.PRG \
c:\Projects\MLS2015\Source\RPTinventory.prg \
c:\Projects\MLS2015\Source\mInvUtilities.prg \
c:\Projects\MLS2015\Source\BldComp.PRG \
c:\Projects\MLS2015\Source\emswab.prg \
c:\Projects\MLS2015\Source\InspChk.PRG \
c:\Projects\MLS2015\Source\MLSAutoFU.prg \
c:\Projects\MLS2015\Source\MLSEditor.prg \
c:\Projects\MLS2015\Source\NumCnv.prg \
c:\Projects\MLS2015\Source\StrucEdit.prg \
c:\Projects\MLS2015\Source\rpreview.prg \
c:\Projects\MLS2015\Source\tCalc.prg \
c:\Projects\MLS2015\Source\utillog.prg \
c:\Projects\MLS2015\Source\ViewWOStatus.prg \
c:\Projects\MLS2015\Source\webmap.prg \
c:\Projects\MLS2015\Source\woaudt.prg \
c:\Projects\MLS2015\Source\mWorkOrders.prg \
c:\Projects\MLS2015\Source\mWorkPrint.prg \
c:\Projects\MLS2015\Source\mARaccounts.PRG \
c:\Projects\MLS2015\Source\mARtransactions.PRG \
c:\Projects\MLS2015\Source\RPTreceivables.prg \
c:\Projects\MLS2015\Source\mARutilities.prg \
c:\Projects\MLS2015\Source\mAPaccounts.PRG \
c:\Projects\MLS2015\Source\mAPtransactions.PRG \
c:\Projects\MLS2015\Source\mAPutilities.prg \
c:\Projects\MLS2015\Source\RPTpayables.prg \
c:\Projects\MLS2015\Source\mGLaccounts.PRG \
c:\Projects\MLS2015\Source\RPTledger.prg \
c:\Projects\MLS2015\Source\mPayroll.prg \
c:\Projects\MLS2015\Source\mPayrollProcessing.prg \
c:\Projects\MLS2015\Source\RPTpayroll.prg \
c:\Projects\MLS2015\Source\mPayrollUtilities.prg \
c:\Projects\MLS2015\Source\mBankAccount.prg \
c:\Projects\MLS2015\Source\RPTbank.prg \
c:\Projects\MLS2015\Source\mReports.prg \
c:\Projects\MLS2015\Source\RPTworkordersB.prg \
c:\Projects\MLS2015\Source\RPTworkorders.prg \
c:\Projects\MLS2015\Source\mASWgraphs.prg \
c:\Projects\MLS2015\Source\DemandForce.PRG \
c:\Projects\MLS2015\Source\VINDCD.PRG \
c:\Projects\MLS2015\Source\UtilCarFax.prg \
c:\Projects\MLS2015\Source\merchant.prg \
c:\Projects\MLS2015\Source\realtime.prg \
c:\Projects\MLS2015\Source\RReward.prg \
c:\Projects\MLS2015\Source\rprevfunc.prg \
c:\Projects\MLS2015\Source\mConfigSys.prg \
c:\Projects\MLS2015\Source\mListEditor.prg \
c:\Projects\MLS2015\Source\mInventory.prg \
c:\Projects\MLS2015\Source\mListArrays.PRG \
c:\Projects\MLS2015\Source\mWorkData.prg \
c:\Projects\MLS2015\Source\mWorkParts.prg \
c:\Projects\MLS2015\Source\mWorkLabor.prg \
c:\Projects\MLS2015\Source\mLookup.prg \
c:\Projects\MLS2015\Source\mWorkNeeds.prg \
c:\fwh\source\function\errsysw.prg \
c:\Projects\MLS2015\Source\mAPutilities.prg \
c:\Projects\MLS2015\Source\RPTpayables.prg \
c:\Projects\MLS2015\Source\mGLaccounts.PRG \
c:\Projects\MLS2015\Source\RPTledger.prg \
c:\Projects\MLS2015\Source\mPayroll.prg \
c:\Projects\MLS2015\Source\mPayrollProcessing.prg \
c:\Projects\MLS2015\Source\RPTpayroll.prg \
c:\Projects\MLS2015\Source\mPayrollUtilities.prg \
c:\Projects\MLS2015\Source\mBankAccount.prg \
c:\Projects\MLS2015\Source\RPTbank.prg \
c:\Projects\MLS2015\Source\mReports.prg \
c:\Projects\MLS2015\Source\RPTworkordersB.prg \
c:\Projects\MLS2015\Source\RPTworkorders.prg \
c:\Projects\MLS2015\Source\mASWgraphs.prg \
c:\Projects\MLS2015\Source\DemandForce.PRG \
c:\Projects\MLS2015\Source\VINDCD.PRG \
c:\Projects\MLS2015\Source\UtilCarFax.prg \
c:\Projects\MLS2015\Source\merchant.prg \
c:\Projects\MLS2015\Source\realtime.prg \
c:\Projects\MLS2015\Source\RReward.prg \
c:\Projects\MLS2015\Source\rprevfunc.prg \
c:\Projects\MLS2015\Source\mConfigSys.prg \
c:\Projects\MLS2015\Source\mListEditor.prg \
c:\Projects\MLS2015\Source\mInventory.prg \
c:\Projects\MLS2015\Source\mListArrays.PRG \
c:\Projects\MLS2015\Source\mWorkData.prg \
c:\Projects\MLS2015\Source\mWorkParts.prg \
c:\Projects\MLS2015\Source\mWorkLabor.prg \
c:\Projects\MLS2015\Source\mLookup.prg \
c:\Projects\MLS2015\Source\mWorkNeeds.prg \
c:\fwh\source\function\errsysw.prg \
c:\Projects\MLS2015\Source\Kukui.prg
 
.SUFFIXES: .prg .c .obj .rc .res

MyApp.exe : $(PRGS:.prg=.obj) MyApp.res
   echo $(PRGS:.prg=.obj) > msvc.tmp

   echo $(FWDIR)\lib\FiveH32.lib $(FWDIR)\lib\FiveHC32.lib >> msvc.tmp

echo %fwdir%\lib\FiveH64.lib %fwdir%\lib\FiveHC64.lib  >> msvc.tmp

echo %hdirl%\hbrtl.lib  >> msvc.tmp
echo %hdirl%\hbvm.lib  >> msvc.tmp
echo %hdirl%\gtgui.lib  >> msvc.tmp
echo %hdirl%\hblang.lib  >> msvc.tmp
echo %hdirl%\hbmacro.lib  >> msvc.tmp
echo %hdirl%\hbrdd.lib  >> msvc.tmp
echo %hdirl%\rddntx.lib  >> msvc.tmp
echo %hdirl%\rddcdx.lib  >> msvc.tmp
echo %hdirl%\rddfpt.lib  >> msvc.tmp
echo %hdirl%\hbsix.lib  >> msvc.tmp
echo %hdirl%\hbdebug.lib  >> msvc.tmp
echo %hdirl%\hbcommon.lib  >> msvc.tmp
echo %hdirl%\hbpp.lib  >> msvc.tmp
echo %hdirl%\hbcpage.lib  >> msvc.tmp
echo %hdirl%\hbwin.lib  >> msvc.tmp
echo %hdirl%\hbct.lib  >> msvc.tmp
echo %hdirl%\hbziparc.lib >> msvc.tmp
echo %hdirl%\hbmzip.lib >> msvc.tmp
echo %hdirl%\hbzlib.lib >> msvc.tmp
echo %hdirl%\hbpcre.lib >> msvc.tmp
echo %hdirl%\minizip.lib >> msvc.tmp
echo %hdirl%\xhb.lib >> msvc.tmp
echo %hdirl%\hbcplr.lib >> msvc.tmp
echo %hdirl%\png.lib >> msvc.tmp

rem Uncomment these two lines to use Advantage RDD
echo %hdirl%\rddads.lib >> msvc.tmp
echo %hdirl%\ace32.lib >> msvc.tmp

echo kernel32.lib  >> msvc.tmp
echo user32.lib    >> msvc.tmp
echo gdi32.lib     >> msvc.tmp
echo winspool.lib  >> msvc.tmp
echo comctl32.lib  >> msvc.tmp
echo comdlg32.lib  >> msvc.tmp
echo advapi32.lib  >> msvc.tmp
echo shell32.lib   >> msvc.tmp
echo ole32.lib     >> msvc.tmp
echo oleaut32.lib  >> msvc.tmp
echo uuid.lib      >> msvc.tmp
echo odbc32.lib    >> msvc.tmp
echo odbccp32.lib  >> msvc.tmp
echo iphlpapi.lib  >> msvc.tmp
echo mpr.lib       >> msvc.tmp
echo version.lib   >> msvc.tmp
echo wsock32.lib   >> msvc.tmp
echo msimg32.lib   >> msvc.tmp
echo oledlg.lib    >> msvc.tmp
echo psapi.lib     >> msvc.tmp
echo gdiplus.lib   >> msvc.tmp
echo winmm.lib     >> msvc.tmp
echo vfw32.lib     >> msvc.tmp

   IF EXIST MyApp.res echo MyApp.res >> msvc.tmp
   
   link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:msvcrt > link.log
   @type link.log
   @del $(PRGS:.prg=.obj)

$(PRGS:.prg=.obj) : $(PRGS:.prg=.c)
$(PRGS:.prg=.c) : $(PRGS)

MyApp.res : MyApp.rc
   rc.exe -r -d__FLAT__ MLS10.rc
   
.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   cl.exe -c -TC -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<
 
 


Also, I assume I must also add all of the BMP files referenced in the RC file.

Can you tell me why the separator error ?

Tim
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Wed Apr 06, 2016 7:45 pm

Tim,

All PRGs names must be lowercase (name and extension)

Check that there are no tabs in line 47:

c:\Projects\MLS2015\Source\mServiceHistory.prg \
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby TimStone » Wed Apr 06, 2016 7:50 pm

I re-cased all lines.

I removed the offending line and re-entered it.

I still get the same error.

Tim
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Thu Apr 07, 2016 7:27 am

Tim,

Please remove the line that fails and try it again

Don't reenter it

Lets see if the error continues without it
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby Maurizio » Thu Apr 07, 2016 7:55 am

This works with hbmk2
m.bat
Code: Select all  Expand view
@echo off


SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\;c:\fwh64\Harbour_Vs2015\bin;C:\WINDOWS;C:\WINDOWS\SYSTEM32


call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
set VisualStudioVersion=14.0

hbmk2 -inc -comp=msvc mastro.hbm fwh.hbc -omastrosql

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO ------------------  Application successfully built *
echo start mastrosql.exe /HIGH  
mastrosql.exe

GOTO EXIT


:LINKERROR
ECHO ****************** Linking errors *
GOTO EXIT


:EXIT
 


fwh.hbc
Code: Select all  Expand view
{win}gt=gtgui

incpaths=c:\bcc71-64\INCLUDE
libpaths=c:\bcc71-64\LIB
{msvc}incpaths=include
{msvc}libpaths=lib
incpaths=C:\FWH64\include
libpaths=C:\FWH64\lib

{bcc64}libs=five64 fivec64  

{msvc}libs=fiveh64 fivehc64  

{win}libs=hbwin
{win}libs=gtgui    
{win}libs=hbct
{win}libs=xhb
{win}libs=hbziparc
{win}libs=hbmzip
{win}libs=minizip
{win}libs=png  



{msvc}libs=kernel32  
{msvc}libs=user32    
{msvc}libs=gdi32    
{msvc}libs=winspool  
{msvc}libs=comctl32  
{msvc}libs=comdlg32  
{msvc}libs=advapi32  
{msvc}libs=shell32  
{msvc}libs=ole32    
{msvc}libs=oleaut32  
{msvc}libs=uuid      
{msvc}libs=odbc32    
{msvc}libs=odbccp32  
{msvc}libs=iphlpapi  
{msvc}libs=mpr      
{msvc}libs=version  
{msvc}libs=wsock32  
{msvc}libs=msimg32  
{msvc}libs=oledlg    
{msvc}libs=psapi    
{msvc}libs=gdiplus  
{msvc}libs=winmm    
{msvc}libs=vfw32    



 


mastro.hbm
Code: Select all  Expand view
#{msvc}-ldflag=/FORCE:multiple
#{msvc}-ldflag=/NODEFAULTLIB:libc

{msvc}-ldflag= -W3 -O2  

-tshead=timestamp.ch

-n
-m
-w
-es2
-gc0
-p
-q

tutor01.prg
tutor02.prg


mastrosql.res
 


Regards
Maurizio
www.nipeservice.com
User avatar
Maurizio
 
Posts: 824
Joined: Mon Oct 10, 2005 1:29 pm

Re: Build.bat for MSVC 2015

Postby TimStone » Thu Apr 07, 2016 6:12 pm

Maurizio,

You appear to have a Borland path reference in there which I am not using.

Antonio,

It's not that line. Here is a modified go64.bat file. I modified it, and put it in the same folder as the .prg files.

Code: Select all  Expand view

#Microsoft VS2015 make sample, (c) FiveTech Software 2014

HBDIR=c:\harbour
FWDIR=c:\fwh64
VCDIR="c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
SDKDIR="c:\Program Files (x86)\Windows Kits\8.1"
hdirl=%HBDIR%\lib\vc64

PRGS = tdata.prg emskey.prg trecord.prg tsearch.prg minvpartspicklist.prg   mlaborglossary.prg  \
mservicekits.prg    rptglossary.prg mlaborchart.prg mwrkquote.prg   mlsphonebook.prg    mtimeclocks.prg \
mlsnotebook.prg mlsphotos.prg   mlsmessagecenter.prg mworkclose.prg mfileindex.prg  mservicehistory.prg \
g_graph.prg g_server.prg    qbcust.prg  mcustomer.prg   aswemail.prg    mclientfollowup.prg mtexteditor.prg \
mclientutilities.prg mpmscheduler.prg   rptclient.prg   mlscalendar.prg minvpurchaseorder.prg minvreturn.prg    \
minvcore.prg    rptinventory.prg minvutilities.prg  bldcomp.prg emswab.prg  inspchk.prg mlsautofu.prg   \
mlseditor.prg numcnv.prg    strucedit.prg   rpreview.prg    tcalc.prg   utillog.prg viewwostatus.prg webmap.prg \
woaudt.prg mworkorders.prg mworkprint.prg maraccounts.prg martransactions.prg rptreceivables.prg marutilities.prg \
mapaccounts.prg maptransactions.prg tdata.prg emskey.prg mls_func.prg msgdate.prg prospell.prg trecord.prg \
tsearch.prg minvpartspicklist.prg mlaborglossary.prg mservicekits.prg rptglossary.prg mlaborchart.prg \
mwrkquote.prg mlsphonebook.prg mtimeclocks.prg mlsnotebook.prg mlsphotos.prg mlsmessagecenter.prg mworkclose.prg \
mfileindex.prg mservicehistory.prg g_graph.prg g_server.prg qbcust.prg mcustomer.prg aswemail.prg mclientfollowup.prg \
mtexteditor.prg mclientutilities.prg mpmscheduler.prg rptclient.prg mlscalendar.prg minvpurchaseorder.prg minvreturn.prg \
minvcore.prg rptinventory.prg minvutilities.prg bldcomp.prg emswab.prg inspchk.prg mlsautofu.prg mlseditor.prg numcnv.prg \
strucedit.prg rpreview.prg tcalc.prg utillog.prg viewwostatus.prg webmap.prg woaudt.prg mworkorders.prg mworkprint.prg \
maraccounts.prg martransactions.prg rptreceivables.prg marutilities.prg mapaccounts.prg maptransactions.prg maputilities.prg \
rptpayables.prg mglaccounts.prg rptledger.prg mpayroll.prg mpayrollprocessing.prg rptpayroll.prg mpayrollutilities.prg \
mbankaccount.prg rptbank.prg mreports.prg rptworkordersb.prg rptworkorders.prg maswgraphs.prg demandforce.prg vindcd.prg \
utilcarfax.prg merchant.prg realtime.prg rreward.prg rprevfunc.prg mconfigsys.prg mlisteditor.prg minventory.prg mlistarrays.prg \
mworkdata.prg mworkparts.prg mworklabor.prg mlookup.prg mworkneeds.prg maputilities.prg rptpayables.prg mglaccounts.prg \
rptledger.prg mpayroll.prg mpayrollprocessing.prg rptpayroll.prg mpayrollutilities.prg mbankaccount.prg rptbank.prg mreports.prg \
rptworkordersb.prg rptworkorders.prg maswgraphs.prg demandforce.prg vindcd.prg utilcarfax.prg merchant.prg realtime.prg rreward.prg \
rprevfunc.prg mconfigsys.prg mlisteditor.prg minventory.prg mlistarrays.prg mworkdata.prg mworkparts.prg mworklabor.prg mlookup.prg \
mworkneeds.prg kukui.prg
 
.SUFFIXES: .prg .c .obj .rc .res

MyApp.exe : $(PRGS:.prg=.obj) MyApp.res
  echo $(PRGS:.prg=.obj) > msvc.tmp
    echo %fwdir%\lib\FiveH64.lib %fwdir%\lib\FiveHC64.lib  >> msvc.tmp

echo %hdirl%\hbrtl.lib  >> msvc.tmp
echo %hdirl%\hbvm.lib  >> msvc.tmp
echo %hdirl%\gtgui.lib  >> msvc.tmp
echo %hdirl%\hblang.lib  >> msvc.tmp
echo %hdirl%\hbmacro.lib  >> msvc.tmp
echo %hdirl%\hbrdd.lib  >> msvc.tmp
echo %hdirl%\rddntx.lib  >> msvc.tmp
echo %hdirl%\rddcdx.lib  >> msvc.tmp
echo %hdirl%\rddfpt.lib  >> msvc.tmp
echo %hdirl%\hbsix.lib  >> msvc.tmp
echo %hdirl%\hbdebug.lib  >> msvc.tmp
echo %hdirl%\hbcommon.lib  >> msvc.tmp
echo %hdirl%\hbpp.lib  >> msvc.tmp
echo %hdirl%\hbcpage.lib  >> msvc.tmp
echo %hdirl%\hbwin.lib  >> msvc.tmp
echo %hdirl%\hbct.lib  >> msvc.tmp
echo %hdirl%\hbziparc.lib >> msvc.tmp
echo %hdirl%\hbmzip.lib >> msvc.tmp
echo %hdirl%\hbzlib.lib >> msvc.tmp
echo %hdirl%\hbpcre.lib >> msvc.tmp
echo %hdirl%\minizip.lib >> msvc.tmp
echo %hdirl%\xhb.lib >> msvc.tmp
echo %hdirl%\hbcplr.lib >> msvc.tmp
echo %hdirl%\png.lib >> msvc.tmp

rem Uncomment these two lines to use Advantage RDD
echo %hdirl%\rddads.lib >> msvc.tmp
echo %hdirl%\ace32.lib >> msvc.tmp

echo kernel32.lib  >> msvc.tmp
echo user32.lib    >> msvc.tmp
echo gdi32.lib     >> msvc.tmp
echo winspool.lib  >> msvc.tmp
echo comctl32.lib  >> msvc.tmp
echo comdlg32.lib  >> msvc.tmp
echo advapi32.lib  >> msvc.tmp
echo shell32.lib   >> msvc.tmp
echo ole32.lib     >> msvc.tmp
echo oleaut32.lib  >> msvc.tmp
echo uuid.lib      >> msvc.tmp
echo odbc32.lib    >> msvc.tmp
echo odbccp32.lib  >> msvc.tmp
echo iphlpapi.lib  >> msvc.tmp
echo mpr.lib       >> msvc.tmp
echo version.lib   >> msvc.tmp
echo wsock32.lib   >> msvc.tmp
echo msimg32.lib   >> msvc.tmp
echo oledlg.lib    >> msvc.tmp
echo psapi.lib     >> msvc.tmp
echo gdiplus.lib   >> msvc.tmp
echo winmm.lib     >> msvc.tmp
echo vfw32.lib     >> msvc.tmp

   IF EXIST MyApp.res echo MyApp.res >> msvc.tmp
   
   link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:msvcrt > link.log
   @type link.log
   @del $(PRGS:.prg=.obj)

$(PRGS:.prg=.obj) : $(PRGS:.prg=.c)
$(PRGS:.prg=.c) : $(PRGS)

MyApp.res : MyApp.rc
   rc.exe -r -d__FLAT__ MLS10.rc
   
.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   cl.exe -c -TC -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<
 
 


Now it fails at line 41 which is adding hbvm.lib. It doesn't matter what is there, it still fails with the "missing separator" error.

Also, I assume I have to specify the .bmp files that are included in the .rc build. How do I list them ?

Tim
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Maurizio » Fri Apr 08, 2016 6:45 am

Tim ,
it can works with msvc or borland , for 32 or 64 bit .

Maurizio
www.nipeservice.com
User avatar
Maurizio
 
Posts: 824
Joined: Mon Oct 10, 2005 1:29 pm

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Fri Apr 08, 2016 2:48 pm

Tim,

> Here is a modified go64.bat file

Surely you meant a makefile filename

Please post here the msvc.tmp file that is created

The .bmp filenames are already listed in your RC file. You don't need to list them in this makefile
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby TimStone » Fri Apr 08, 2016 3:21 pm

Yes,I meant a .mak file name.

There is no msvc.tmp file being created at this point.
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Fri Apr 08, 2016 3:33 pm

Tim,

Could we have a TeamViewer (or similar) session ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby TimStone » Fri Apr 08, 2016 3:49 pm

Sure ... I'll email you the info.
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Build.bat for MSVC 2015

Postby Antonio Linares » Fri Apr 08, 2016 4:35 pm

Problem solved:

Never forget to add a tab in front of each makefile line to execute
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Build.bat for MSVC 2015

Postby TimStone » Fri Apr 08, 2016 4:48 pm

One more STOP

NMAKE : fatal error U1077: 'link' : return code '0x49d'

The command line was link @msvc.tmp /nologo /subsysterm:windows /NODEFAULTLIB:msvcrt > link.log

Tim
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2944
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 33 guests