Page 1 of 2

compiling

PostPosted: Wed Sep 26, 2012 4:02 pm
by mtajkov
I try to compile with nmake test.mak

Code: Select all  Expand view
#Microsoft VS2010 make sample, (c) FiveTech Software 2010

HBDIR=d:\harbour
FWDIR=d:\fwh1208
VCDIR=d:\Program Files\Microsoft Visual Studio 10.0\VC
SDKDIR=d:\Program Files\Microsoft SDKs\Windows\v7.0A

.SUFFIXES: .prg .c .obj .rc .res

ramcom.exe : ramcom.obj cizlram.obj culzram.obj culazsta.obj ctimer.obj culzram.obj cIzlBar.obj errsysw.obj ramcom.res
   echo  ramcom.obj cizlram.obj culzram.obj culazsta.obj ctimer.obj culzram.obj cIzlBar.obj errsysw.obj > msvc.tmp

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

   echo $(HBDIR)\lib\hbrtl.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbvm.lib     >> msvc.tmp
   echo $(HBDIR)\lib\gtgui.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hblang.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbmacro.lib  >> msvc.tmp
   echo $(HBDIR)\lib\hbrdd.lib    >> msvc.tmp
   echo $(HBDIR)\lib\rddntx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\rddcdx.lib   >> msvc.tmp
   echo $(HBDIR)\lib\rddfpt.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbsix.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbdebug.lib  >> msvc.tmp
   echo $(HBDIR)\lib\hbcommon.lib >> msvc.tmp
   echo $(HBDIR)\lib\hbpp.lib     >> msvc.tmp
   echo $(HBDIR)\lib\hbwin.lib    >> msvc.tmp
   echo $(HBDIR)\lib\hbcplr.lib   >> msvc.tmp
   echo $(HBDIR)\lib\xhb.lib      >> msvc.tmp
   echo $(HBDIR)\lib\hbpcre.lib   >> msvc.tmp
   echo $(HBDIR)\lib\hbct.lib     >> msvc.tmp
   echo $(HBDIR)\lib\hbcpage.lib  >> msvc.tmp

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

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

   SET LIB=$(VCDIR)\lib
   SET PATH=$(VCDIR)\bin
   link @msvc.tmp /nologo /subsystem:windows /force:multiple /NODEFAULTLIB:libc > link.log
   @type link.log
   @del ramcom.c
   @del cizlbar.c
   @del cizlram.c
   @del culzram.c
   @del culazsta.c
   @del ctimer.c
   @del errsysw.c
   @del msvc.tmp

ramcom.obj   : ramcom.c
cizlbar.obj  : cizlbar.c
cizlram.obj  : cizlram.c
culzram.obj  : culzram.c
culazsta.obj : culazsta.c
ctimer.obj   : ctimer.c
errsysw.obj  : errsysw.c

ramcom.c   : ramcom.prg
cizlbar.c  : cizlbar.prg
cizlram.c  : cizlram.prg
culzram.c  : culzram.prg
culazsta.c : culazsta.prg
ctimer.c   : ctimer.prg
errsysw.c  : errsysw.prg

ramcom.res : ramcom.rc
   d:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\rc.exe -r -d__FLAT__ ramcom.rc

.prg.c:
   $(HBDIR)\bin\harbour $< /n /i$(FWDIR)\include;$(HBDIR)\include

.c.obj:
   SET PATH=$(VCDIR)\bin
   cl.exe -c -TP -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<
 
 


but there is an error:

Image

Please Help

Re: compiling

PostPosted: Thu Sep 27, 2012 1:55 am
by Antonio Linares
That error means that cl.exe is not located where you think it is:

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/325b5459-c469-40d0-bf6d-e3356a2f14cd/

Please check the path where cl.exe is

Re: compiling

PostPosted: Thu Sep 27, 2012 3:33 pm
by mtajkov
I do not know what the problem is:

Code: Select all  Expand view
D:\test>go

D:\test>d:\"Program Files\Microsoft Visual Studio 10.0"\VC\bin\nmake  -ftest.mak


Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        SET PATH=d:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl -c -TP
-W3 -GA -Ic:\harbour\include -Id:\Program Files\Microsoft Visual Studio 10.0\VC\
include test.c
        SET PATH=d:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl -c -TP
-W3 -GA -Ic:\harbour\include -Id:\Program Files\Microsoft Visual Studio 10.0\VC\
include one.c
        echo test.obj one.obj > msvc.tmp
        echo c:\fwh1208\lib\FiveH32.lib c:\fwh1208\lib\FiveHC32.lib >> msvc.tmp
        echo c:\harbour\lib\rtl.lib      >> msvc.tmp
        echo c:\harbour\lib\vm.lib       >> msvc.tmp
        echo c:\harbour\lib\gtwin.lib    >> msvc.tmp
        echo c:\harbour\lib\lang.lib     >> msvc.tmp
        echo c:\harbour\lib\macro.lib    >> msvc.tmp
        echo c:\harbour\lib\rdd.lib      >> msvc.tmp
        echo c:\harbour\lib\dbfntx.lib   >> msvc.tmp
        echo c:\harbour\lib\dbfcdx.lib   >> msvc.tmp
        echo c:\harbour\lib\dbffpt.lib   >> msvc.tmp
        echo c:\harbour\lib\hbsix.lib    >> msvc.tmp
        echo c:\harbour\lib\debug.lib    >> msvc.tmp
        echo c:\harbour\lib\common.lib   >> msvc.tmp
        echo c:\harbour\lib\pp.lib       >> msvc.tmp
        echo c:\harbour\lib\codepage.lib >> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\kernel32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\user32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\gdi32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\winspool.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\comctl32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\comdlg32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\advapi32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\shell32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\ole32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\oleaut32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\uuid.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\odbc32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\odbccp32.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\iphlpapi.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\mpr.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\version.lib
>> msvc.tmp
        echo d:\Program Files\Microsoft Visual Studio 10.0\VC\lib\wsock32.lib
>> msvc.tmp
        IF EXIST test.res echo test.res >> msvc.tmp
        SET LIB=d:\Program Files\Microsoft Visual Studio 10.0\VC\lib
        SET PATH=d:\Program Files\Microsoft Visual Studio 10.0\VC\bin
        link @msvc.tmp /nologo /subsystem:windows /force:multiple > link.log
NMAKE : fatal error U1077: 'link' : return code '0xc0000135'
Stop.

D:\test>


please help

Regards,
Miloš

Re: compiling

PostPosted: Thu Sep 27, 2012 3:44 pm
by Antonio Linares
Please check if link.exe is at d:\Program Files\Microsoft Visual Studio 10.0\VC\bin

Re: compiling

PostPosted: Thu Sep 27, 2012 4:07 pm
by mtajkov
yes, the file is there

Re: compiling

PostPosted: Thu Sep 27, 2012 7:16 pm
by Antonio Linares
Surely there is a missing dll.

Please run this:

d:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe

from your app folder

Re: compiling

PostPosted: Thu Sep 27, 2012 9:35 pm
by fafi

Re: compiling

PostPosted: Fri Sep 28, 2012 8:07 am
by mtajkov
after running c: \ "Program Files \ Microsoft Visual Studio 10.0" \ VC \ bin \ link.exe this is the result:

Code: Select all  Expand view

C:\test>lin

C:\test>c:\"Program Files\Microsoft Visual Studio 10.0"\VC\bin\link.exe
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

 usage: LINK [options] [files] [@commandfile]

   options:

      /ALIGN:#
      /ALLOWBIND[:NO]
      /ALLOWISOLATION[:NO]
      /ASSEMBLYDEBUG[:DISABLE]
      /ASSEMBLYLINKRESOURCE:filename
      /ASSEMBLYMODULE:filename
      /ASSEMBLYRESOURCE:filename[,[name][,PRIVATE]]
      /BASE:{address[,size]|@filename,key}
      /CLRIMAGETYPE:{IJW|PURE|SAFE}
      /CLRLOADEROPTIMIZATION:{SD|MD|MDH|NONE}
      /CLRSUPPORTLASTERROR[:{NO|SYSTEMDLL}]
      /CLRTHREADATTRIBUTE:{STA|MTA|NONE}
      /CLRUNMANAGEDCODECHECK[:NO]
      /DEBUG
      /DEF:filename
      /DEFAULTLIB:library
      /DELAY:{NOBIND|UNLOAD}
      /DELAYLOAD:dll
      /DELAYSIGN[:NO]
      /DLL
(press <return> to continue)
      /DRIVER[:{UPONLY|WDM}]
      /DYNAMICBASE[:NO]
      /ENTRY:symbol
      /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
      /EXPORT:symbol
      /FIXED[:NO]
      /FORCE[:{MULTIPLE|UNRESOLVED}]
      /FUNCTIONPADMIN[:size]
      /HEAP:reserve[,commit]
      /IDLOUT:filename
      /IGNOREIDL
      /IMPLIB:filename
      /INCLUDE:symbol
      /INCREMENTAL[:NO]
      /KEYCONTAINER:name
      /KEYFILE:filename
      /LARGEADDRESSAWARE[:NO]
      /LIBPATH:dir
      /LTCG[:{NOSTATUS|PGINSTRUMENT|PGOPTIMIZE|PGUPDATE|STATUS}]
      /MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16|
                SH4|THUMB|X64|X86}
      /MANIFEST[:NO]
      /MANIFESTDEPENDENCY:manifest dependency
      /MANIFESTFILE:filename
(press <return> to continue)
      /MANIFESTUAC[:{NO|UAC fragment}]
      /MAP[:filename]
      /MAPINFO:{EXPORTS}
      /MERGE:from=to
      /MIDL:@commandfile
      /NOASSEMBLY
      /NODEFAULTLIB[:library]
      /NOENTRY
      /NOLOGO
      /NXCOMPAT[:NO]
      /OPT:{ICF[=iterations]|NOICF|NOREF|REF}
      /ORDER:@filename
      /OUT:filename
      /PDB:filename
      /PDBSTRIPPED:filename
      /PGD:filename
      /PROFILE
      /RELEASE
      /SAFESEH[:NO]
      /SECTION:name,[[!]{DEKPRSW}][,ALIGN=#]
      /STACK:reserve[,commit]
      /STUB:filename
      /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
                  EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|
(press <return> to continue)
                  NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]]
      /SWAPRUN:{CD|NET}
      /TLBID:#
      /TLBOUT:filename
      /TSAWARE[:NO]
      /VERBOSE[:{ICF|LIB|REF|SAFESEH}]
      /VERSION:#[.#]
      /WX[:NO]

C:\test>


Regards,
Miloš

Re: compiling

PostPosted: Fri Sep 28, 2012 10:41 am
by Antonio Linares
Miloš,

You are using D: from your makefile, not C:

Re: compiling

PostPosted: Fri Sep 28, 2012 12:46 pm
by mtajkov
Antonio,

Sorry for the confusion! One is a computer at work and another house (windows system is on the D drive). It was a problem with the path to mspdb100.dll but again the same error, but probably for a different reason

Re: compiling

PostPosted: Fri Sep 28, 2012 1:35 pm
by Antonio Linares
Miloš,

Yes, I have faced that DLL problem too. It has to be copied where cl.exe, link.exe are

Try to execute it outside the make to identify the real problem. Surely there is something else missing and the make can't run it

Re: compiling

PostPosted: Fri Sep 28, 2012 8:37 pm
by mtajkov
error with the path and the dll file is determined by entering the path in Windows.

I tried:

Image

The file hbvmpub.h is located in the d:\harbour\include. When I copy the *.h and *.ch in applications folder (d:\2) I get a new error: d:\2\hbdefs.h(56) : fatal error C1083: Cannot open include file: 'stdarg.h': Invalid argment

Regards,
Miloš

Re: compiling

PostPosted: Sat Sep 29, 2012 11:25 am
by Antonio Linares
Milos,

stdarg.h is located at c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ and that path should be used when calling cl.exe:

VCDIR="c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"
SDKDIR="c:\Program Files\Microsoft SDKs\Windows\v7.0A"

SET PATH=$(VCDIR)\bin
cl.exe -c -TP -W3 -I$(HBDIR)\include -I$(SDKDIR)\include -I$(VCDIR)\include $<

Re: compiling

PostPosted: Sat Sep 29, 2012 6:09 pm
by mtajkov
Antonio,

Why (x86) in the VCDIR="d:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"? I do not have folder "Program Files (x86)".

Definitely a problem with paths. If I run one.bat:

Code: Select all  Expand view
SET PATH="d:\Program Files\Microsoft Visual Studio 10.0"\VC\bin
cl.exe -c -TP -W3 -I$d:\harbour\include -I$"d:\Program Files\Microsoft SDKs\Windows\v7.0A"\include -I$"d:\Program Files\Microsoft Visual Studio 10.0"\VC\include one.c
 


Code: Select all  Expand view

D:\2>one

D:\2>SET PATH="d:\Program Files\Microsoft Visual Studio 10.0"\VC\bin

D:\2>cl.exe -c -TP -W3 -I$d:\harbour\include -I$"d:\Program Files\Microsoft SDKs
\Windows\v7.0A"
\include -I$"d:\Program Files\Microsoft Visual Studio 10.0"\VC\in
clude one.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

one.c
one.c(7) : fatal error C1083: Cannot open include file: 'hbvmpub.h': No such fil
e or directory
D:\2>
 


cl.exe is started, but I think that the command: -I$"d:\Program Files\Microsoft Visual Studio 10.0"\VC\include no significance?

Regards,
Miloš

Re: compiling

PostPosted: Sat Sep 29, 2012 8:18 pm
by Antonio Linares
Milos,

Thats because I am running it on Win 64 bits (x86 is path for 32 bits apps)