MSVC 2012

Post Reply
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

MSVC 2012

Post by Richard Chidiak »

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
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: MSVC 2012

Post by lucasdebeltran »

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.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: MSVC 2012

Post by Antonio Linares »

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
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: MSVC 2012

Post by fgondi »

Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: MSVC 2012

Post by Antonio Linares »

Fernando,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Re: MSVC 2012

Post by Richard Chidiak »

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
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: MSVC 2012

Post by fgondi »

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 GHE Sistemas Informáticos
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Re: MSVC 2012

Post by Richard Chidiak »

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
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Re: MSVC 2012

Post by Richard Chidiak »

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
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: MSVC 2012

Post by fgondi »

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: Select all

# --------- 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 GHE Sistemas Informáticos
Post Reply