FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour MSVC 2012
Posts: 946
Joined: Thu Oct 06, 2005 07:05 PM
MSVC 2012
Posted: Mon Nov 04, 2013 12:15 PM

Hello

Is anyone using MSVC 2012 in production yet ?

If yes how did you set for windows xp compatibility ? Applications build with msvc 2012 will not run native with xp or vista

From MSDN

http://blogs.msdn.com/b/vcblog/archive/ ... 57555.aspx

The problem as far as i understood (hope i am wrong) , the setting has to be changed in every project's property..... How can we do it with our configuration files ?

Thanks for reply

Richard

PS : this problem does not occur with MSVC 2010 as i have already released a version of my program and it is working OK under xp also.

http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: MSVC 2012
Posted: Mon Nov 04, 2013 05:33 PM

Richard,

You are right, MSVC 2012 does not work with XP, so that´s why we still use MSVC 2010.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 01:32 PM

Richard,

I wasn't aware of this limitation, but after reading your posted url it seems as Microsoft already solved it and it is as simple as changing just one flag on the projects settings once.

So with a minimal change in the project settings, it should be all ok :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 01:39 PM
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 01:56 PM

Fernando,

Was that flag also needed besides the project flag pointed by Microsoft ? thanks

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 946
Joined: Thu Oct 06, 2005 07:05 PM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 04:07 PM

Fernando

from what i read Service Pack 1 of Visual Studio 2012 is required, i am going to update.

Did you succeed building with this flag ?

I get an error at execution under xp

can not find procedure entry point lcmapstringex in kernel32.dll

Antonio

How can we set this with harbour ? it is a compile flag

set CL=/D_USING_V110_SDK71_;%CL%

Richard

http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 04:49 PM

I'm using:

/nologo /subsystem:WINDOWS,5.01 /force:multiple /NODEFAULTLIB:libc /nxcompat:NO /machine:X86 /Ignore:4006

that is working fine with XP and Vista

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 946
Joined: Thu Oct 06, 2005 07:05 PM
Re: MSVC 2012
Posted: Tue Nov 05, 2013 10:20 PM

Using same parameters do not work for me.

If you use Uestudio, do you mind sharing the application file or any other make file ?

Thank you

Richard

http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
Posts: 946
Joined: Thu Oct 06, 2005 07:05 PM
Re: MSVC 2012
Posted: Wed Nov 06, 2013 08:37 AM

Problem solved

An update for Msvc 2012 was necessary

Now applications built with Msvc 2012 run OK on windows xp also :D

Thanks for your help

Antonio : I will send you an updated file for uestudio

Richard

http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: MSVC 2012
Posted: Wed Nov 06, 2013 08:41 AM
I use Uestudio and Pelles c

MSVC2012 is installed on "C:\Microsoft Visual Studio 11.0"
and
I use SDK that I have in "C:\Microsoft Visual Studio 11.0\SDK\v8.0"

Code (fw): Select all Collapse
# --------- Harbour y FWH configuration --------
# --- general --------------------------------------
# $P  - project name
# $Pp - path to project directory
# $Pn - project name
# --- compile --------------------------------------
# $I  - input full name
# $Ip - input path
# $In - input name
# $Ie - input extension
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for compiler
# --- build ----------------------------------------
# $T  - target full name
# $Tp - target path
# $Tn - target name
# $O  - output file
# $Op - path to output file
# $On - output filename (without path)
# $Oe - output extension
# $R  - release/debug setting for linker

[Settings]
Target = 
Category&01 = DEFAULT RUN CONFIGURATION
Working Directory =.
Command Line Arguments =

Category&02 = Harbour Options
GUI = none|FWH
3rd Party Rdd = None|RddAds
Automatic Memvar Declaration = no|yes
Variables Are Assumed = no|yes
Generate Preprocessed Output = no|yes
Warning Level = 1|2|3|4|0
Use Harbour Dll = no|yes
User Include Path =
User Defines =

Compiler Options =
Linker Options =

Excluded Files = Excludes
External Dependencies=yes|no 

[SettingsInfo]
Target = Provides a space for you to specify an output file and location of the program that the linker creates.
Working Directory = Provides a space for you to specify the directory in which executing occurs. If you do not specify a directory, executing occurs in the directory where the executable is located.
Command Line Arguments = Provides a space for you to specify command-line arguments you want to pass to the program at startup.
Compiler Options = Provides a space for you to specify an additional compiler options.
User Defines = Shows the switches the tool will use to build. Use ';' as delimiter.
Use MT Library = Set this if you want to use Multi threaded libraries
Linker Options = Provides a space for you to specify an additional linker options.
Excluded Files = This will exclude the file(s) included in this UE project group from the build.
External Dependencies=If you select "yes" option, UE Studio will generate in project group "External Dependencies" from included files.
3rd Party Rdd = You can specify here 3rd party Rdd

[SettingsReps]
User Defines = @[;|-D%s]
Automatic Memvar Declaration = no=|yes=/a
Variables Are Assumed = no=|yes=/v
Generate Preprocessed Output = no=|yes=/p
User Include Path = ^^@[;|;%s]
User Include Path&1 = ^^@[;| /i%s]
Use Multi Thread Library = no|yes
Warning Level = @/w%s
Use Harbour Dll = no=|yes=harbour.lib
External Dependencies=yes=1|no=0

[Variables]
FWH = c:\FWH
HPATH = c:\Harbour
CPATH = "c:\Microsoft Visual Studio 11.0\VC"
SDKPATH = "C:\Microsoft Visual Studio 11.0\SDK\v8.0"

HPATHL = $(HPATH)\LIB\vc32
CPATHL = $(CPATH)\LIB
SDKPATHL = $(SDKPATH)\Lib\win8\um\x86
SDKPATHI = $(SDKPATH)\INCLUDE\UM;$(SDKPATH)\INCLUDE\SHARED

GUII = {[$(GUI)=][none=][FWH=;$(FWHI)]}
GUIL = {[$(GUI)=][none=][FWH=;$(FWHL)]}
GLnk = {[$(GUI)=][none=/ap][FWH=/aa]}
DCon = {[$(GUI)=][none=1][FWH=0]}

GUII&1 = {[$(GUI)=][none=][FWH=/i$(FWHI)]}

HOPT = /n /gc1 /es2 /q /m /w $(Compiler Options) /i$(HPATH)\INCLUDE $(User Include Path&1) /i$(FWHI) $(User Defines) $(Automatic Memvar Declaration) $(Variables Are Assumed) $(Generate Preprocessed Output) $(Warning Level)
COPT = -TP -W3 -c /GA -I$(HPATH)\INCLUDE -I"$(CPATH)\INCLUDE" -I$(FWH)\INCLUDE -I"$(SDKPATHI)"

LOPT = /nologo /subsystem:WINDOWS,5.01 /force:multiple /NODEFAULTLIB:libc /nxcompat:NO /machine:X86 /Ignore:4006

LIBS1 = $(Use Harbour Dll) {[$(GUI)=][none=][FWH=$(FWH)\LIB\FiveH32.lib $(FWH)\LIB\FiveHC32.lib]}
LIBS2 = $(HPATHL)\hbrtl.lib $(HPATHL)\hbvm.lib {[$(GUI)=][none=$(HPATHL)\gtwin.lib][FWH=$(HPATHL)\gtgui.lib]} $(HPATHL)\hblang.lib $(HPATHL)\hbmacro.lib $(HPATHL)\hbrdd.lib $(HPATHL)\rddntx.lib $(HPATHL)\rddcdx.lib $(HPATHL)\rddfpt.lib $(HPATHL)\hbsix.lib $(HPATHL)\hbdebug.lib $(HPATHL)\hbcommon.lib $(HPATHL)\hbpp.lib $(HPATHL)\hbcpage.lib $(HPATHL)\hbwin.lib $(HPATHL)\hbcplr.lib $(HPATHL)\hbpcre.lib $(HPATHL)\hbct.lib $(HPATHL)\xhb.lib $(HPATHL)\png.lib $(HPATHL)\hbzlib.lib $(HPATHL)\hbtip.lib $(HPATHL)\hbssl.lib $(HPATHL)\hbtipssl.lib $(HPATHL)\libeay32.lib $(HPATHL)\ssleay32.lib
LIBS3 = "$(SDKPATHL)\kernel32.lib" "$(SDKPATHL)\user32.lib" "$(SDKPATHL)\gdi32.lib" "$(SDKPATHL)\winspool.lib" "$(SDKPATHL)\comctl32.lib" "$(SDKPATHL)\comdlg32.lib" "$(SDKPATHL)\advapi32.lib" "$(SDKPATHL)\shell32.lib" "$(SDKPATHL)\ole32.lib" "$(SDKPATHL)\oleaut32.lib" "$(SDKPATHL)\uuid.lib" "$(SDKPATHL)\odbc32.lib" "$(SDKPATHL)\odbccp32.lib" "$(SDKPATHL)\iphlpapi.lib" "$(SDKPATHL)\mpr.lib" "$(SDKPATHL)\version.lib" "$(SDKPATHL)\wsock32.lib" "$(SDKPATHL)\msimg32.lib" "$(SDKPATHL)\oledlg.lib" "$(SDKPATHL)\psapi.lib" "$(SDKPATHL)\gdiplus.lib" "$(SDKPATHL)\winmm.lib" "$(SDKPATHL)\WS2_32.lib" "$(SDKPATHL)\Asycfilt.lib" "$(SDKPATHL)\OlePro32.lib"
LIBS = $(LIBS1) {[$(3rd Party Rdd)=][RddAds=$(HPATHL)\rddads.lib $(HPATHL)\ace32.lib]} $(LIBS2) "$(LIBS3)"

LinkWith = {[$(GUI)=][none=c0x32.obj][FWH=c0w32.obj]}

[Environment]
PATH = $(HPATH)\BIN;$(CPATH)\BIN;$(SDKPATH)\bin\x86;%PATH%
INCLUDE = $(HPATH)\INCLUDE;$(CPATH)\INCLUDE;$(SDKPATHI);$(FWH)\INCLUDE
LIB = $(HPATHL);$(CPATHL);$(SDKPATHL);$(GUIL)
BuildMode = %UESMode%

[General]
TargetExt = .EXE
ReleaseOut = Release
DebugOut = Debug
UseFullPaths = 1
UseDosNames = 0
Excludes = $(Excluded Files)
GenerateEDGroup=$(External Dependencies)
.CPP = .C

[MakeCommands]
run = Execute Application
makef = Show Makefile

[Execute Application]
Title = Execute $T
Cmd0 = $(Command Line Arguments)
Depends = $T
ShowWindow = 1
DisplayConsole = $(DCon)

[Show Makefile]
Title=Show makefile
Cmd0=uestudio makefile
ShowWindow=1
DisplayConsole=0

[InsertFiles]

[FileGroups]
FGO = .obj;
FGR = .res;
FGL = .lib;
FGD = .def;

[GroupFormats]
FGO = %s
FGR = %s
FGL = %s

[Build]
Out = $T
Depends = $FGO $FGR
DebugFlag = 
ReleaseFlag = 
Cmd0 = LINK $(LOPT) $FGO $FGR $FGL $(LIBS) /OUT:$(Working Directory)\$On.exe

[.PRG]
Out = $In.c
DebugFlag = /b
ReleaseFlag =
Cmd0 = harbour $I $(HOPT) $R /o$O 

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.

[.C]
Out = $In.obj
Cmd0 = cl.exe $(COPT) $I

[.RC]
Out = $In.res
Cmd0 = rc -r -d__FLAT__ /i"$(SDKPATHI)" -fo"$O" "$I"
# Cmd0 = C:\PellesC\bin\Porc.exe /IC:\PellesC\include\win /IC:\PellesC\include /Fo$O /R $I

IncFiles = 1
CaseSensitive = 0
IncDirs = .;$(INCLUDE);
IncKeyWords = #include;
Comments = /*.*/.//.eol.
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos

Continue the discussion