Visual Studio 2010 support

MC
Miljenko Cvjetko
Mon, Feb 6, 2012 1:50 PM

Hi

How far is support for Visual Studio 2010?

I have managed to

  • remove all Mobile platform deps and
  • got to linking where I have to solve known issue when migrating
    from VCBuild to MSBuild

Warning    41    warning MSB8012: TargetPath
(pjproject-2.0-beta\pjsip-apps\build.\output\libpjproject--Win32-vc8-Debug\libpjproject-i386-Win32-vc8-Debug.lib)

does not match the Library's OutputFile property value
(pjproject-2.0-beta\lib\libpjproject-i386-Win32-vc8-Debug.lib).
This may cause your project to build incorrectly.
To correct this, please make sure that

$(OutDir)=.\output$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(Configuration)\

$(TargetName)=$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration)
and
$(TargetExt)=.lib
property values match the value specified in

%(Lib.OutputFile)=....\lib$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib

C:\Program
Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets    1151
6    libpjproject

Is someone working on VS2010 and how far is he/she?

regards

mel

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net

Hi How far is support for Visual Studio 2010? I have managed to * remove all Mobile platform deps and * got to linking where I have to solve known issue when migrating from VCBuild to MSBuild Warning 41 warning MSB8012: TargetPath (pjproject-2.0-beta\pjsip-apps\build\.\output\libpjproject--Win32-vc8-Debug\libpjproject-i386-Win32-vc8-Debug.lib) does not match the Library's OutputFile property value (pjproject-2.0-beta\lib\libpjproject-i386-Win32-vc8-Debug.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir)=.\output\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(Configuration)\ $(TargetName)=$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration) and $(TargetExt)=.lib property values match the value specified in %(Lib.OutputFile)=..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets 1151 6 libpjproject Is someone working on VS2010 and how far is he/she? regards mel -- Miljenko Cvjetko dipl.ing. ET Direktor/CEO Projektant rjes(enja/Solution Architect Razvojni programer/Senior developer Voditelj projekta/Project Manager IX juz(na obala 13 Kajzerica Zagreb T: 385 1 7775555 M: 385 91 557 447 3 F: 385 1 7779556 e: mcvjetko@holisticware.net w: http://www.holisticware.net
JS
Jörg Schwarzenberg
Tue, Feb 7, 2012 5:19 AM

Hi!

How far is support for Visual Studio 2010?

On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project files
for 1.10 in this mailing list.

He said: "No completed test, but build fine."

For the 2.x branch nothing has been posted yet.

Best Regards
Jörg

Hi! > How far is support for Visual Studio 2010? On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project files for 1.10 in this mailing list. He said: "No completed test, but build fine." For the 2.x branch nothing has been posted yet. Best Regards Jörg
MC
Miljenko Cvjetko
Tue, Feb 7, 2012 9:45 AM

Hi

On 2012.02.07 06:19, Jörg Schwarzenberg wrote:

Hi!

How far is support for Visual Studio 2010?

On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project
files for 1.10 in this mailing list.

He said: "No completed test, but build fine."

Almost like that for 1.12

pjlib compiles, when compiling pjlib_test got:
LINK : fatal error LNK1104: cannot open file 'libeay32MT.lib'
Now I see this is for OpenSSL. I'll try to fix that today...

For the 2.x branch nothing has been posted yet.

With 2.0 beta I have linking problems due to the combination of:

  • migration issue from VS2008 to VS2010 with
    Linker output directory
    One of the warnings you may see when upgrading you applications is
    MSB8012:
    $(TargetPath) and Linker's OutputFile property value does not match
    http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx
  • understanding differences between VCBuild (old one) and MSBuild
  • not understanding project and filesystem structure and order of pjsip
    Here I'd like to be as little as possible intrusive to pjsip
    project. Meaning: I do not want
    to make huge changes -  only what is neccessary.
    My problem is linking dirs and paths (which, where and why)

I believe I'm not too far from getting it to work. The problem is that I
have never worked with
MS VC++ and last c++ compiler I worked with was egcs (fork of gcc)
before they merged again
with g++ in 1998-1999. I'm c#/managed dev for last 11-12 yrs...

So I'll try to fix 1.12 problem with OpenSSL and afterwards will go to
2.0-beta to see/understand
directory structure.

I'll keep You informed

regards

mel

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net

Hi On 2012.02.07 06:19, Jörg Schwarzenberg wrote: > Hi! > >> How far is support for Visual Studio 2010? > > On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project > files for 1.10 in this mailing list. > > He said: "No completed test, but build fine." Almost like that for 1.12 pjlib compiles, when compiling pjlib_test got: LINK : fatal error LNK1104: cannot open file 'libeay32MT.lib' Now I see this is for OpenSSL. I'll try to fix that today... > > For the 2.x branch nothing has been posted yet. With 2.0 beta I have linking problems due to the combination of: * migration issue from VS2008 to VS2010 with Linker output directory One of the warnings you may see when upgrading you applications is MSB8012: $(TargetPath) and Linker's OutputFile property value does not match http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx * understanding differences between VCBuild (old one) and MSBuild * not understanding project and filesystem structure and order of pjsip Here I'd like to be as little as possible intrusive to pjsip project. Meaning: I do not want to make huge changes - only what is neccessary. My problem is linking dirs and paths (which, where and why) I believe I'm not too far from getting it to work. The problem is that I have never worked with MS VC++ and last c++ compiler I worked with was egcs (fork of gcc) before they merged again with g++ in 1998-1999. I'm c#/managed dev for last 11-12 yrs... So I'll try to fix 1.12 problem with OpenSSL and afterwards will go to 2.0-beta to see/understand directory structure. I'll keep You informed regards mel > > > Best Regards > Jörg > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Miljenko Cvjetko dipl.ing. ET Direktor/CEO Projektant rjes(enja/Solution Architect Razvojni programer/Senior developer Voditelj projekta/Project Manager IX juz(na obala 13 Kajzerica Zagreb T: 385 1 7775555 M: 385 91 557 447 3 F: 385 1 7779556 e: mcvjetko@holisticware.net w: http://www.holisticware.net
MC
Miljenko Cvjetko
Wed, Feb 8, 2012 10:19 AM

Howdy!

Update on this issue - see inline pls.

On 2012.02.07 06:19, Jörg Schwarzenberg wrote:

Hi!

How far is support for Visual Studio 2010?

On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project
files for 1.10 in this mailing list.

He said: "No completed test, but build fine."

For the 2.x branch nothing has been posted yet.

Yesterday and today I have managed to write several batch scripts (msdos

  • utils like msxsl.exe)
    for conversion from vs8 (VS2005) to vs10 (vs2010).
    Conversion is almost automagic ( 4 times doubleclick) and works for both
    versions 1.12 and
    2.0 beta.
    There are few steps that must be made manually after opening solutions
    (adding paths for DirectX SDK).

Today I'll write small writeup how to do conversion.
All 4 scripts should be in the same directory where zips are.

Issues to tackle:

  • warning MSB8012 (those might not be a problem - still investigating)
    MSB8012:
    $(TargetPath) and Linker's OutputFile property value does not match
    http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx

  • DirectX SDK

  • warning MSB4211
    .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props;

    The property "TargetCPU" is being set to a value for the first time,
    but it was already consumed
    at
    ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props".
    this one causes

  • preserving original vs2005 (vs8) solutions

TODOs:

  • preserving original vs2005 (vs8) solutions
  • writeup

HowTo

unzip-sources.bat
unzip sources

backup-vcproj-files.bat
foreach (File f = *.vcrpoj in folders)
{
copy(f, f.mc++.vcproj);
}

remove-mobile-platforms-from-csproj-files.bat
remove-mobile-dependencies.xslt
requirements: c:\bin\msxsl.exe

pjsip-prepare.bat
copies
config-site-sample.h
to
config-site.h

Import

2.0
Errors:
Error    80    error LNK1104: cannot open file 'dxguid.lib'
D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\LINK
samples
Error    82    error MSB3073: The command "nmake /NOLOGO /S /f
Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2.
C:\Program
Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets    43
6    samples
Error    81    error U1077: '"c:\Program Files\Microsoft Visual Studio
10.0\VC\bin\cl.EXE"' : return code '0x2'
D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE
samples

1.12
Errors:
Error    78    error LNK1181: cannot open input file 'dxguid.lib'
D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\build\LINK
sample_debug
Error    79    error MSB6006: "link.exe" exited with code 1181.
C:\Program
Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets
275    6    sample_debug

Manual stuff!!!

Solution:
add Path to dxguid.lib


regards

mel

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net

Howdy! Update on this issue - see inline pls. On 2012.02.07 06:19, Jörg Schwarzenberg wrote: > Hi! > >> How far is support for Visual Studio 2010? > > On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project > files for 1.10 in this mailing list. > > He said: "No completed test, but build fine." > > For the 2.x branch nothing has been posted yet. Yesterday and today I have managed to write several batch scripts (msdos + utils like msxsl.exe) for conversion from vs8 (VS2005) to vs10 (vs2010). Conversion is almost automagic ( 4 times doubleclick) and works for both versions 1.12 and 2.0 beta. There are few steps that must be made manually after opening solutions (adding paths for DirectX SDK). Today I'll write small writeup how to do conversion. All 4 scripts should be in the same directory where zips are. Issues to tackle: * warning MSB8012 (those might not be a problem - still investigating) MSB8012: $(TargetPath) and Linker's OutputFile property value does not match http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx * DirectX SDK * warning MSB4211 .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props; The property "TargetCPU" is being set to a value for the first time, but it was already consumed at ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props". this one causes * preserving original vs2005 (vs8) solutions TODOs: * preserving original vs2005 (vs8) solutions * writeup ------------------------------------------------------------------------------------------------------ HowTo unzip-sources.bat unzip sources backup-vcproj-files.bat foreach (File f = *.vcrpoj in folders) { copy(f, f.mc++.vcproj); } remove-mobile-platforms-from-csproj-files.bat remove-mobile-dependencies.xslt requirements: c:\bin\msxsl.exe pjsip-prepare.bat copies config-site-sample.h to config-site.h Import 2.0 Errors: Error 80 error LNK1104: cannot open file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\LINK samples Error 82 error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets 43 6 samples Error 81 error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE samples 1.12 Errors: Error 78 error LNK1181: cannot open input file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\build\LINK sample_debug Error 79 error MSB6006: "link.exe" exited with code 1181. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets 275 6 sample_debug Manual stuff!!! Solution: add Path to dxguid.lib ------------------------------------------------------------------------------------------------------ regards mel > > > Best Regards > Jörg > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Miljenko Cvjetko dipl.ing. ET Direktor/CEO Projektant rjes(enja/Solution Architect Razvojni programer/Senior developer Voditelj projekta/Project Manager IX juz(na obala 13 Kajzerica Zagreb T: 385 1 7775555 M: 385 91 557 447 3 F: 385 1 7779556 e: mcvjetko@holisticware.net w: http://www.holisticware.net
MC
Miljenko Cvjetko
Fri, Feb 10, 2012 5:21 PM

Howdy

OK. I guess this is solved:

Visual Studio 2010 VC++ Solution Conversion HowTo

Perequisites - Tools
  • XSLT Trafo utility (msxsl.exe)
    For changing/replacing/deleting nodes in XML config files of Visual
    Studio
    TODO: saxon?

  • SED (MSDOS port)
    for replacements in files

    Steps old - manual what was done!

  1. Download sources or grab our zip with everything in it.

  2. Unzip sources with 01-unzip-sources.bat

  3. Backup C/C++ project files with 02-backup-vcproj-files.bat

    foreach (File f = *.vcrpoj in folders)
    {
    copy(f, f.mc++.vcproj);
    }

  4. Visual Studio 2010 does not support Mobile platforms (Windows Mobile
    5,6, Pocket PC and Smartphone) so remove those from
    with the help of XSLT transformation

       remove-mobile-dependencies.xslt
       requirements: c:\bin\msxsl.exe
    
  5. Prepare PJSIP for conversion and compilation

    • Conversion:

    • Compilation:

      copies
      config-site-sample.h
      to
      config-site.h

    Conversion

  6. pjproject-vs8-common-defaults.vsprops - does not contain:

    <UserMacro Name="TargetCPU" Value="i386" />

    like
    pjproject-vs8-win32-common-defaults.vsprops
    Causes Wranings:

    MSB4211:
    .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props;
    The property "TargetCPU" is being set to a value for the first time, but it was already consumed at
    ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props".

  7. Well known conversion issue and Warning MSB8012 has turned out as
    non-problematic!
    http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx
    http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx

    MSB8012:
    $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib')
    does not match the Librarian's OutputFile property value '....\lib\libgsmcodec-i386-Win32-vc8-Debug.lib'
    ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'.
    This may cause your project to build incorrectly.
    To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile).

    Compilation and Linking

  8. DirectX SDK libray path:

    1. PJSIP 1.12
      Problem - Linker Error:

      Error  78  error LNK1181: cannot open input file 'dxguid.lib'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\build\LINK  sample_debug
      Error  79  error MSB6006: "link.exe" exited with code 1181.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets  275  6  sample_debug

      Solution/Workaround:
      change

      • Property Pages/Linker/General/Additional Library Directories:
        from:
        to: "C:\Program Files\Microsoft DirectX SDK (March
        2009)\Lib\x86"
        For projects:
        o pjmedia_test
        o pjsua
        o pjsip_test

      • Property Pages/Configuration Properties/VC++
        Directories/Library Directories:
        from: $(LibraryPath)
        to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK
        (March 2009)\Lib\x86"
        For projects:
        o samples
        o sample_debug
        o pjsystest

      • PJSIP 2.0 Beta
        Problem - Linker Error:

        Error  80  error LNK1104: cannot open file 'dxguid.lib'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\LINK  samples
        Error  82  error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets  43  6  samples
        Error  81  error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE  samples

        Solution/Workaround:
        change
        o Property Pages/Linker/General/Additional Library
        Directories:
        from:
        to: "C:\Program Files\Microsoft DirectX SDK (March
        2009)\Lib\x86"
        For projects:
        + sample_debug
        o Property Pages/Configuration Properties/VC++
        Directories/Library Directories:
        from: $(LibraryPath)
        to: $(LibraryPath);"C:\Program Files\Microsoft DirectX
        SDK (March 2009)\Lib\x86"
        For projects:
        + samples
        + pjsua
        + pjsip_test
        + pjsua
        + pjmedia_test
        + pjsystest

    Steps - automagic explained

File list and steps to convert (just start batch files in this order):

  1. 01-unzip-sources.bat
    Hard to say what it does

    echo off

    set ZIP=c:\bin\7za.exe x

    %ZIP% pjproject-1.12.zip
    %ZIP% pjproject-2.0-beta.zip

    pause

  2. 02-backup-vcproj-files.bat
    Backing up *.vcproj files before import/conversion

    @echo off

    setlocal EnableDelayedExpansion

    set SED=c:\bin\sed.exe

    FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
    echo


---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

   echo FILENAME_PATH_VCPROJ=%%s
   echo FILENAME=%%~ns
   echo FILENAME_W_EXT=%%~nxs
   echo PATH=%%~ps
   echo -------------------------------------------------
   set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc++.bckp!

   echo BACKUP=!BACKUP!

   echo !FILENAME_PATH_VCPROJ!
   echo !BACKUP!

   del !BACKUP!
   type !FILENAME_PATH_VCPROJ!>  !BACKUP!

)

dir /s /b *.vcproj

dir /s /b *.bckp

pause
       
  1. 03-remove-mobile-platforms-from-vcproj-files.bat
    Batch script that collects .vcproj files and applies XSLT trafo on
    them using msxsl.exe

    @echo off

    setlocal EnableDelayedExpansion

    ::TODO: saxon
    set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe
    set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt

    FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
    echo


---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

   echo FILENAME_PATH_VCPROJ=%%s
   echo FILENAME=%%~ns
   echo FILENAME_W_EXT=%%~nxs
   echo PATH=%%~ps
   echo -------------------------------------------------

   echo !FILENAME_PATH_VCPROJ!
   !XSLT_TRAFO_UTIL! ^
     !FILENAME_PATH_VCPROJ! ^
     !XSLT_TRAFO! ^
     -o !FILENAME_PATH_VCPROJ!


)

pause
       
  1. 03-remove-mobile-platforms-from-vcproj-files.xslt
    Actual XSLT

    <?xml version="1.0" encoding="utf-8"?>

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"

     <!--<xsl:output method="xml" indent="yes"/>-->

   <!--
   -->
   <xsl:template match="@* | node()">
       <xsl:copy>
         <xsl:apply-templates select="@* | node()"/>
       </xsl:copy>
   </xsl:template>

     <!--<xsl:template match="AA">
       <xsl:copy>
         <xsl:apply-templates select="*[. = 'bar']"/>
       </xsl:copy>
     </xsl:template>-->


   <!--
     Empty templates - swallowing nodes
   -->
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>

   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>

   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>

   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>

   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>

   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/>
   <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/>
</xsl:stylesheet>
       
  1. 04-pjsip-prepare.bat
    Modifying (sedding with SED) .vsprops files (inserting xml needed to
    silence some warnings)
    Creating new Solutions that will be modified
    Preparing for test compilation config_site.h

    @echo off

    set SED=c:\bin\sed.exe

    echo


---==========
echo sed - inserting into pjproject-vs8-common-defaults.vsprops
echo to silence VS conversion warning MSB4211
:: -i.bak backup extension for inline replacement
%SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new

%SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
   .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new

echo copying backups etc...
type ^
   .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak

type ^
   .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak

type ^
   .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

type ^
   .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops

echo

---==========
type ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

echo

---==========
echo Creating new Soultions
type ^
pjproject-1.12\pjproject-vs8.sln ^

pjproject-1.12\pjproject-vs10.sln

type ^
   pjproject-2.0-beta\pjproject-vs8.sln ^

pjproject-2.0-beta\pjproject-vs10.sln

echo

---==========
echo Preparing files for Compilation (config_site.h)
type ^
pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^

pjproject-2.0-beta\pjlib\include\pj\config_site.h

type ^
   pjproject-1.12\pjlib\include\pj\config_site_sample.h  ^

pjproject-1.12\pjlib\include\pj\config_site.h

echo

---==========

set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
::%DEVENV% pjproject-1.12\pjproject-vs10.sln
::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln

pause
       
  1. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed

Screenshots and zipped code:
http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx

let me know if something is unclear or wrong....

regards

mel

On 2012.02.07 06:19, Jörg Schwarzenberg wrote:

Hi!

How far is support for Visual Studio 2010?

On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project
files for 1.10 in this mailing list.

He said: "No completed test, but build fine."

For the 2.x branch nothing has been posted yet.

Best Regards
Jörg


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net

Howdy OK. I guess this is solved: Visual Studio 2010 VC++ Solution Conversion HowTo Perequisites - Tools * XSLT Trafo utility (msxsl.exe) For changing/replacing/deleting nodes in XML config files of Visual Studio TODO: saxon? * SED (MSDOS port) for replacements in files Steps old - manual what was done! 1. Download sources or grab our zip with everything in it. 2. Unzip sources with 01-unzip-sources.bat 3. Backup C/C++ project files with 02-backup-vcproj-files.bat foreach (File f = *.vcrpoj in folders) { copy(f, f.mc++.vcproj); } 4. Visual Studio 2010 does not support Mobile platforms (Windows Mobile 5,6, Pocket PC and Smartphone) so remove those from with the help of XSLT transformation remove-mobile-dependencies.xslt requirements: c:\bin\msxsl.exe 5. Prepare PJSIP for conversion and compilation * Conversion: * Compilation: copies config-site-sample.h to config-site.h Conversion 1. pjproject-vs8-common-defaults.vsprops - does not contain: <UserMacro Name="TargetCPU" Value="i386" /> like pjproject-vs8-win32-common-defaults.vsprops Causes Wranings: MSB4211: .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props; The property "TargetCPU" is being set to a value for the first time, but it was already consumed at ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props". 2. Well known conversion issue and Warning MSB8012 has turned out as non-problematic! http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx <http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx> MSB8012: $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm\.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib') does not match the Librarian's OutputFile property value '..\..\lib\libgsmcodec-i386-Win32-vc8-Debug.lib' ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile). Compilation and Linking 1. DirectX SDK libray path: 1. PJSIP 1.12 Problem - Linker Error: Error 78 error LNK1181: cannot open input file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\build\LINK sample_debug Error 79 error MSB6006: "link.exe" exited with code 1181. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets 275 6 sample_debug Solution/Workaround: change * Property Pages/Linker/General/Additional Library Directories: from: to: "C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86" For projects: o pjmedia_test o pjsua o pjsip_test * Property Pages/Configuration Properties/VC++ Directories/Library Directories: from: $(LibraryPath) to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86" For projects: o samples o sample_debug o pjsystest * PJSIP 2.0 Beta Problem - Linker Error: Error 80 error LNK1104: cannot open file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\LINK samples Error 82 error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets 43 6 samples Error 81 error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE samples Solution/Workaround: change o Property Pages/Linker/General/Additional Library Directories: from: to: "C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86" For projects: + sample_debug o Property Pages/Configuration Properties/VC++ Directories/Library Directories: from: $(LibraryPath) to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86" For projects: + samples + pjsua + pjsip_test + pjsua + pjmedia_test + pjsystest Steps - automagic explained File list and steps to convert (just start batch files in this order): 1. 01-unzip-sources.bat Hard to say what it does echo off set ZIP=c:\bin\7za.exe x %ZIP% pjproject-1.12.zip %ZIP% pjproject-2.0-beta.zip pause 2. 02-backup-vcproj-files.bat Backing up *.vcproj files before import/conversion @echo off setlocal EnableDelayedExpansion set SED=c:\bin\sed.exe FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( echo ======================================================================= set FILENAME_PATH_VCPROJ=%%s set FILENAME=%%~ns set FILENAME_W_EXT=%%~nxs set PATH=%%~ps echo FILENAME_PATH_VCPROJ=%%s echo FILENAME=%%~ns echo FILENAME_W_EXT=%%~nxs echo PATH=%%~ps echo ------------------------------------------------- set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc++.bckp! echo BACKUP=!BACKUP! echo !FILENAME_PATH_VCPROJ! echo !BACKUP! del !BACKUP! type !FILENAME_PATH_VCPROJ!> !BACKUP! ) dir /s /b *.vcproj dir /s /b *.bckp pause 3. 03-remove-mobile-platforms-from-vcproj-files.bat Batch script that collects .vcproj files and applies XSLT trafo on them using msxsl.exe @echo off setlocal EnableDelayedExpansion ::TODO: saxon set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( echo ======================================================================= set FILENAME_PATH_VCPROJ=%%s set FILENAME=%%~ns set FILENAME_W_EXT=%%~nxs set PATH=%%~ps echo FILENAME_PATH_VCPROJ=%%s echo FILENAME=%%~ns echo FILENAME_W_EXT=%%~nxs echo PATH=%%~ps echo ------------------------------------------------- echo !FILENAME_PATH_VCPROJ! !XSLT_TRAFO_UTIL! ^ !FILENAME_PATH_VCPROJ! ^ !XSLT_TRAFO! ^ -o !FILENAME_PATH_VCPROJ! ) pause 4. 03-remove-mobile-platforms-from-vcproj-files.xslt Actual XSLT <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" > <!--<xsl:output method="xml" indent="yes"/>--> <!-- --> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <!--<xsl:template match="AA"> <xsl:copy> <xsl:apply-templates select="*[. = 'bar']"/> </xsl:copy> </xsl:template>--> <!-- Empty templates - swallowing nodes --> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"/> <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"/> </xsl:stylesheet> 5. 04-pjsip-prepare.bat Modifying (sedding with SED) .vsprops files (inserting xml needed to silence some warnings) Creating new Solutions that will be modified Preparing for test compilation config_site.h @echo off set SED=c:\bin\sed.exe echo============================================================================ echo sed - inserting into pjproject-vs8-common-defaults.vsprops echo to silence VS conversion warning MSB4211 :: -i.bak backup extension for inline replacement %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new echo copying backups etc... type ^ .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak type ^ .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak type ^ .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops type ^ .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops echo============================================================================ type ^ .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops echo============================================================================ echo Creating new Soultions type ^ pjproject-1.12\pjproject-vs8.sln ^ >>pjproject-1.12\pjproject-vs10.sln type ^ pjproject-2.0-beta\pjproject-vs8.sln ^ >>pjproject-2.0-beta\pjproject-vs10.sln echo============================================================================ echo Preparing files for Compilation (config_site.h) type ^ pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^ >>pjproject-2.0-beta\pjlib\include\pj\config_site.h type ^ pjproject-1.12\pjlib\include\pj\config_site_sample.h ^ >>pjproject-1.12\pjlib\include\pj\config_site.h echo============================================================================ set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" ::%DEVENV% pjproject-1.12\pjproject-vs10.sln ::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln pause 6. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed Screenshots and zipped code: http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx let me know if something is unclear or wrong.... regards mel On 2012.02.07 06:19, Jörg Schwarzenberg wrote: > Hi! > >> How far is support for Visual Studio 2010? > > On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project > files for 1.10 in this mailing list. > > He said: "No completed test, but build fine." > > For the 2.x branch nothing has been posted yet. > > > Best Regards > Jörg > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Miljenko Cvjetko dipl.ing. ET Direktor/CEO Projektant rjes(enja/Solution Architect Razvojni programer/Senior developer Voditelj projekta/Project Manager IX juz(na obala 13 Kajzerica Zagreb T: 385 1 7775555 M: 385 91 557 447 3 F: 385 1 7779556 e: mcvjetko@holisticware.net w: http://www.holisticware.net
BP
Benny Prijono
Thu, Feb 16, 2012 6:01 AM

This is great. I'll make sure to refer to this whenever someone ask for VS
2010 support. Thanks!

Best regards,
Benny

On Sat, Feb 11, 2012 at 12:21 AM, Miljenko Cvjetko <
mcvjetko@holisticware.net> wrote:

Howdy

OK. I guess this is solved:

Visual Studio 2010 VC++ Solution Conversion HowTo Perequisites - Tools

- XSLT Trafo utility (msxsl.exe)
For changing/replacing/deleting nodes in XML config files of Visual
Studio
TODO: saxon?
- SED (MSDOS port)
for replacements in files

Steps old - manual what was done!

1. Download sources or grab our zip with everything in it.
2. Unzip sources with 01-unzip-sources.bat
3. Backup C/C++ project files with 02-backup-vcproj-files.bat

  foreach (File f = *.vcrpoj in folders)
  {
    copy(f, f.mc++.vcproj);
  }


 4. Visual Studio 2010 does not support Mobile platforms (Windows
Mobile 5,6, Pocket PC and Smartphone) so remove those from
with the help of XSLT transformation

      remove-mobile-dependencies.xslt
      requirements: c:\bin\msxsl.exe


 5. Prepare PJSIP for conversion and compilation
   - Conversion:
   - Compilation:

     copies
       config-site-sample.h
       to
       config-site.h

Conversion

1. pjproject-vs8-common-defaults.vsprops - does not contain:

  <UserMacro
    Name="TargetCPU"
    Value="i386"
  />


like
pjproject-vs8-win32-common-defaults.vsprops
Causes Wranings:

  MSB4211:
  .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props;
  The property "TargetCPU" is being set to a value for the first time, but it was already consumed at
  ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props".


 2. Well known conversion issue and Warning MSB8012 has turned out as
non-problematic!
http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx


  MSB8012:
  $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm\.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib')
  does not match the Librarian's OutputFile property value '..\..\lib\libgsmcodec-i386-Win32-vc8-Debug.lib'
  ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'.
  This may cause your project to build incorrectly.
  To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile).

Compilation and Linking

1. DirectX SDK libray path:
   1. PJSIP 1.12
   Problem - Linker Error:

   Error  78  error LNK1181: cannot open input file 'dxguid.lib'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\
   build\LINK  sample_debug
   Error  79  error MSB6006: "link.exe" exited with code 1181.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets  275  6  sample_debug


   Solution/Workaround:
   change
      - Property Pages/Linker/General/Additional Library Directories:
      from:
      to: "C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86"
      For projects:
         - pjmedia_test
         - pjsua
         - pjsip_test
       - Property Pages/Configuration Properties/VC++
      Directories/Library Directories:
      from: $(LibraryPath)
      to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK
      (March 2009)\Lib\x86"
      For projects:
         - samples
         - sample_debug
         - pjsystest
       - PJSIP 2.0 Beta
      Problem - Linker Error:

      Error  80  error LNK1104: cannot open file 'dxguid.lib'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\
      build\LINK  samples
      Error  82  error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets  43  6  samples
      Error  81  error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE  samples


      Solution/Workaround:
      change
         - Property Pages/Linker/General/Additional Library
         Directories:
         from:
         to: "C:\Program Files\Microsoft DirectX SDK (March
         2009)\Lib\x86"
         For projects:
            - sample_debug
          - Property Pages/Configuration Properties/VC++
         Directories/Library Directories:
         from: $(LibraryPath)
         to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK
         (March 2009)\Lib\x86"
         For projects:
            - samples
            - pjsua
            - pjsip_test
            - pjsua
            - pjmedia_test
            - pjsystest

Steps - automagic explained

File list and steps to convert (just start batch files in this order):

1. 01-unzip-sources.bat
Hard to say what it does

echo off

set ZIP=c:\bin\7za.exe x

%ZIP% pjproject-1.12.zip
%ZIP% pjproject-2.0-beta.zip

pause


 2. 02-backup-vcproj-files.bat
Backing up *.vcproj files before import/conversion

@echo off

setlocal EnableDelayedExpansion

set SED=c:\bin\sed.exe

FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
  echo 

---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

  echo FILENAME_PATH_VCPROJ=%%s
  echo FILENAME=%%~ns
  echo FILENAME_W_EXT=%%~nxs
  echo PATH=%%~ps
  echo -------------------------------------------------
  set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc++.bckp!

  echo BACKUP=!BACKUP!

  echo !FILENAME_PATH_VCPROJ!
  echo !BACKUP!

  del !BACKUP!
  type !FILENAME_PATH_VCPROJ!> !BACKUP!

)

dir /s /b *.vcproj

dir /s /b *.bckp

pause


 3. 03-remove-mobile-platforms-from-vcproj-files.bat
Batch script that collects .vcproj files and applies XSLT trafo on
them using msxsl.exe

@echo off

setlocal EnableDelayedExpansion

::TODO: saxon
set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe
set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt


FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
  echo 

---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

  echo FILENAME_PATH_VCPROJ=%%s
  echo FILENAME=%%~ns
  echo FILENAME_W_EXT=%%~nxs
  echo PATH=%%~ps
  echo -------------------------------------------------

  echo !FILENAME_PATH_VCPROJ!
  !XSLT_TRAFO_UTIL! ^
    !FILENAME_PATH_VCPROJ! ^
    !XSLT_TRAFO! ^
    -o !FILENAME_PATH_VCPROJ!


)

pause


 4. 03-remove-mobile-platforms-from-vcproj-files.xslt
Actual XSLT

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <http://www.w3.org/1999/XSL/Transform>
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
    <!--<xsl:output method="xml" indent="yes"/>-->

  <!--
  -->
  <xsl:template match="@* | node()">
      <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
  </xsl:template>

    <!--<xsl:template match="AA">
      <xsl:copy>
        <xsl:apply-templates select="*[. = 'bar']"/>
      </xsl:copy>
    </xsl:template>-->


  <!--
    Empty templates - swallowing nodes
  -->
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
  <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>
</xsl:stylesheet>


 5. 04-pjsip-prepare.bat
Modifying (sedding with SED) .vsprops files (inserting xml needed to
silence some warnings)
Creating new Solutions that will be modified
Preparing for test compilation config_site.h

@echo off


set SED=c:\bin\sed.exe

echo

---==========
echo sed - inserting into pjproject-vs8-common-defaults.vsprops
echo to silence VS conversion warning MSB4211
:: -i.bak backup extension for inline replacement
%SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new

%SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
  .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new

echo copying backups etc...
type ^
  .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak

type ^
  .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak

type ^
  .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

type ^
  .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops

echo

---==========
type ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

echo

---==========
echo Creating new Soultions
type ^
pjproject-1.12\pjproject-vs8.sln ^

pjproject-1.12\pjproject-vs10.sln

type ^
  pjproject-2.0-beta\pjproject-vs8.sln ^

pjproject-2.0-beta\pjproject-vs10.sln

echo

---==========
echo Preparing files for Compilation (config_site.h)
type ^
pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^

pjproject-2.0-beta\pjlib\include\pj\config_site.h

type ^
  pjproject-1.12\pjlib\include\pj\config_site_sample.h  ^

pjproject-1.12\pjlib\include\pj\config_site.h

echo

---==========

set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
::%DEVENV% pjproject-1.12\pjproject-vs10.sln
::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln

pause


 6. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed

Screenshots and zipped code:

http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx

let me know if something is unclear or wrong....

regards

mel

On 2012.02.07 06:19, Jörg Schwarzenberg wrote:

Hi!

How far is support for Visual Studio 2010?

On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project files
for 1.10 in this mailing list.

He said: "No completed test, but build fine."

For the 2.x branch nothing has been posted yet.

Best Regards
Jörg


Visit our blog: http://blog.pjsip.org

pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rješenja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX južna obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

This is great. I'll make sure to refer to this whenever someone ask for VS 2010 support. Thanks! Best regards, Benny On Sat, Feb 11, 2012 at 12:21 AM, Miljenko Cvjetko < mcvjetko@holisticware.net> wrote: > Howdy > > OK. I guess this is solved: > > Visual Studio 2010 VC++ Solution Conversion HowTo Perequisites - Tools > > - XSLT Trafo utility (msxsl.exe) > For changing/replacing/deleting nodes in XML config files of Visual > Studio > TODO: saxon? > - SED (MSDOS port) > for replacements in files > > Steps old - manual what was done! > > 1. Download sources or grab our zip with everything in it. > 2. Unzip sources with 01-unzip-sources.bat > 3. Backup C/C++ project files with 02-backup-vcproj-files.bat > > foreach (File f = *.vcrpoj in folders) > { > copy(f, f.mc++.vcproj); > } > > > 4. Visual Studio 2010 does not support Mobile platforms (Windows > Mobile 5,6, Pocket PC and Smartphone) so remove those from > with the help of XSLT transformation > > remove-mobile-dependencies.xslt > requirements: c:\bin\msxsl.exe > > > 5. Prepare PJSIP for conversion and compilation > - Conversion: > - Compilation: > > copies > config-site-sample.h > to > config-site.h > > > > Conversion > > 1. pjproject-vs8-common-defaults.vsprops - does not contain: > > <UserMacro > Name="TargetCPU" > Value="i386" > /> > > > like > pjproject-vs8-win32-common-defaults.vsprops > Causes Wranings: > > MSB4211: > .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props; > The property "TargetCPU" is being set to a value for the first time, but it was already consumed at > ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props". > > > 2. Well known conversion issue and Warning MSB8012 has turned out as > non-problematic! > http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx > > > MSB8012: > $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm\.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib') > does not match the Librarian's OutputFile property value '..\..\lib\libgsmcodec-i386-Win32-vc8-Debug.lib' > ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'. > This may cause your project to build incorrectly. > To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile). > > > > Compilation and Linking > > 1. DirectX SDK libray path: > 1. PJSIP 1.12 > Problem - Linker Error: > > Error 78 error LNK1181: cannot open input file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\ > build\LINK sample_debug > Error 79 error MSB6006: "link.exe" exited with code 1181. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets 275 6 sample_debug > > > Solution/Workaround: > change > - Property Pages/Linker/General/Additional Library Directories: > from: > to: "C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86" > For projects: > - pjmedia_test > - pjsua > - pjsip_test > - Property Pages/Configuration Properties/VC++ > Directories/Library Directories: > from: $(LibraryPath) > to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK > (March 2009)\Lib\x86" > For projects: > - samples > - sample_debug > - pjsystest > - PJSIP 2.0 Beta > Problem - Linker Error: > > Error 80 error LNK1104: cannot open file 'dxguid.lib' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\ > build\LINK samples > Error 82 error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets 43 6 samples > Error 81 error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE samples > > > Solution/Workaround: > change > - Property Pages/Linker/General/Additional Library > Directories: > from: > to: "C:\Program Files\Microsoft DirectX SDK (March > 2009)\Lib\x86" > For projects: > - sample_debug > - Property Pages/Configuration Properties/VC++ > Directories/Library Directories: > from: $(LibraryPath) > to: $(LibraryPath);"C:\Program Files\Microsoft DirectX SDK > (March 2009)\Lib\x86" > For projects: > - samples > - pjsua > - pjsip_test > - pjsua > - pjmedia_test > - pjsystest > > Steps - automagic explained > > File list and steps to convert (just start batch files in this order): > > 1. 01-unzip-sources.bat > Hard to say what it does > > echo off > > set ZIP=c:\bin\7za.exe x > > %ZIP% pjproject-1.12.zip > %ZIP% pjproject-2.0-beta.zip > > pause > > > 2. 02-backup-vcproj-files.bat > Backing up *.vcproj files before import/conversion > > @echo off > > setlocal EnableDelayedExpansion > > set SED=c:\bin\sed.exe > > FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( > echo ======================================================================= > set FILENAME_PATH_VCPROJ=%%s > set FILENAME=%%~ns > set FILENAME_W_EXT=%%~nxs > set PATH=%%~ps > > echo FILENAME_PATH_VCPROJ=%%s > echo FILENAME=%%~ns > echo FILENAME_W_EXT=%%~nxs > echo PATH=%%~ps > echo ------------------------------------------------- > set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc++.bckp! > > echo BACKUP=!BACKUP! > > echo !FILENAME_PATH_VCPROJ! > echo !BACKUP! > > del !BACKUP! > type !FILENAME_PATH_VCPROJ!> !BACKUP! > > ) > > dir /s /b *.vcproj > > dir /s /b *.bckp > > pause > > > 3. 03-remove-mobile-platforms-from-vcproj-files.bat > Batch script that collects .vcproj files and applies XSLT trafo on > them using msxsl.exe > > @echo off > > setlocal EnableDelayedExpansion > > ::TODO: saxon > set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe > set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt > > > FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( > echo ======================================================================= > set FILENAME_PATH_VCPROJ=%%s > set FILENAME=%%~ns > set FILENAME_W_EXT=%%~nxs > set PATH=%%~ps > > echo FILENAME_PATH_VCPROJ=%%s > echo FILENAME=%%~ns > echo FILENAME_W_EXT=%%~nxs > echo PATH=%%~ps > echo ------------------------------------------------- > > echo !FILENAME_PATH_VCPROJ! > !XSLT_TRAFO_UTIL! ^ > !FILENAME_PATH_VCPROJ! ^ > !XSLT_TRAFO! ^ > -o !FILENAME_PATH_VCPROJ! > > > ) > > pause > > > 4. 03-remove-mobile-platforms-from-vcproj-files.xslt > Actual XSLT > > <?xml version="1.0" encoding="utf-8"?> > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <http://www.w3.org/1999/XSL/Transform> > xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" > > > <!--<xsl:output method="xml" indent="yes"/>--> > > <!-- > --> > <xsl:template match="@* | node()"> > <xsl:copy> > <xsl:apply-templates select="@* | node()"/> > </xsl:copy> > </xsl:template> > > <!--<xsl:template match="AA"> > <xsl:copy> > <xsl:apply-templates select="*[. = 'bar']"/> > </xsl:copy> > </xsl:template>--> > > > <!-- > Empty templates - swallowing nodes > --> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" </VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > </xsl:stylesheet> > > > 5. 04-pjsip-prepare.bat > Modifying (sedding with SED) .vsprops files (inserting xml needed to > silence some warnings) > Creating new Solutions that will be modified > Preparing for test compilation config_site.h > > @echo off > > > set SED=c:\bin\sed.exe > > echo============================================================================ > echo sed - inserting into pjproject-vs8-common-defaults.vsprops > echo to silence VS conversion warning MSB4211 > :: -i.bak backup extension for inline replacement > %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new > > %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new > > > echo copying backups etc... > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak > > type ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak > > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops > > type ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops > > echo============================================================================ > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops > > echo============================================================================ > echo Creating new Soultions > type ^ > pjproject-1.12\pjproject-vs8.sln ^ > >>pjproject-1.12\pjproject-vs10.sln > > type ^ > pjproject-2.0-beta\pjproject-vs8.sln ^ > >>pjproject-2.0-beta\pjproject-vs10.sln > > echo============================================================================ > echo Preparing files for Compilation (config_site.h) > type ^ > pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^ > >>pjproject-2.0-beta\pjlib\include\pj\config_site.h > > type ^ > pjproject-1.12\pjlib\include\pj\config_site_sample.h ^ > >>pjproject-1.12\pjlib\include\pj\config_site.h > > echo============================================================================ > > set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" > ::%DEVENV% pjproject-1.12\pjproject-vs10.sln > ::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln > > pause > > > 6. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed > > > Screenshots and zipped code: > > http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx > > let me know if something is unclear or wrong.... > > regards > > mel > > > On 2012.02.07 06:19, Jörg Schwarzenberg wrote: > > Hi! > > How far is support for Visual Studio 2010? > > > On Sat, 22 Oct 2011 ruiyun.wen@gmail.com posted his vs2010 project files > for 1.10 in this mailing list. > > He said: "No completed test, but build fine." > > For the 2.x branch nothing has been posted yet. > > > Best Regards > Jörg > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > -- > Miljenko Cvjetko dipl.ing. ET > Direktor/CEO > Projektant rješenja/Solution Architect > Razvojni programer/Senior developer > Voditelj projekta/Project Manager > > IX južna obala 13 > Kajzerica Zagreb > T: 385 1 7775555 > M: 385 91 557 447 3 > F: 385 1 7779556 > e: mcvjetko@holisticware.net > w: http://www.holisticware.net > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >
MC
Miljenko Cvjetko
Thu, Feb 16, 2012 6:46 AM

Hi

On 2012.02.16 07:01, Benny Prijono wrote:

This is great. I'll make sure to refer to this whenever someone ask
for VS 2010 support. Thanks!

 No problems at al. Thank You guys.
 Right now I'm drilling through xcompling for android from Visual 

Studio with vs-android
see: http://code.google.com/p/vs-android/
There are some issues, but I hope I'll be there soon...

Benny let me know please, if there is something more to do (scripts,
docs/howtos, etc), before
I switch to something else...

thanks and regards

mel

Best regards,
Benny

On Sat, Feb 11, 2012 at 12:21 AM, Miljenko Cvjetko
<mcvjetko@holisticware.net mailto:mcvjetko@holisticware.net> wrote:

 Howdy

 OK. I guess this is solved:


   Visual Studio 2010 VC++ Solution Conversion HowTo


     Perequisites - Tools

   * XSLT Trafo utility (msxsl.exe)
     For changing/replacing/deleting nodes in XML config files of
     Visual Studio
     TODO: saxon?
   * SED (MSDOS port)
     for replacements in files


     Steps old - manual what was done!

  1. Download sources or grab our zip with everything in it.
  2. Unzip sources with 01-unzip-sources.bat
  3. Backup C/C++ project files with 02-backup-vcproj-files.bat

        foreach (File f = *.vcrpoj in folders)
        {
          copy(f,f.mc  <http://f.mc>++.vcproj);
        }
            

  4. Visual Studio 2010 does not support Mobile platforms (Windows
     Mobile 5,6, Pocket PC and Smartphone) so remove those from
     with the help of XSLT transformation

            remove-mobile-dependencies.xslt
            requirements: c:\bin\msxsl.exe
            

  5. Prepare PJSIP for conversion and compilation
       * Conversion:
       * Compilation:

            copies
              config-site-sample.h
              to
              config-site.h
                  


     Conversion

  1. pjproject-vs8-common-defaults.vsprops - does not contain:

        <UserMacro
          Name="TargetCPU"
          Value="i386"
        />
            

     like
     pjproject-vs8-win32-common-defaults.vsprops
     Causes Wranings:

        MSB4211:
        .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props;
        The property "TargetCPU" is being set to a value for the first time, but it was already consumed at
        ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props".
            

  2. Well known conversion issue and Warning MSB8012 has turned out
     as non-problematic!
     http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx
     <http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx>


        MSB8012:
        $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm\.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib')
        does not match the Librarian's OutputFile property value '..\..\lib\libgsmcodec-i386-Win32-vc8-Debug.lib'
        ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'.
        This may cause your project to build incorrectly.
        To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile).
            


     Compilation and Linking

  1. DirectX SDK libray path:
      1. PJSIP 1.12
         Problem - Linker Error:

         Error 78 error LNK1181: cannot open input file
         'dxguid.lib'
         D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\
         build\LINK  sample_debug
         Error  79  error MSB6006: "link.exe" exited with code 1181.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets  275  6  sample_debug
                    

         Solution/Workaround:
         change
           * Property Pages/Linker/General/Additional Library
             Directories:
             from:
             to: "C:\Program Files\Microsoft DirectX SDK (March
             2009)\Lib\x86"
             For projects:
               o pjmedia_test
               o pjsua
               o pjsip_test
           * Property Pages/Configuration Properties/VC++
             Directories/Library Directories:
             from: $(LibraryPath)
             to: $(LibraryPath);"C:\Program Files\Microsoft DirectX
             SDK (March 2009)\Lib\x86"
             For projects:
               o samples
               o sample_debug
               o pjsystest
           * PJSIP 2.0 Beta
             Problem - Linker Error:

             Error 80 error LNK1104: cannot open file 'dxguid.lib'
             D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\
             build\LINK  samples
             Error  82  error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2.  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets  43  6  samples
             Error  81  error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2'  D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE  samples
                        

             Solution/Workaround:
             change
               o Property Pages/Linker/General/Additional Library
                 Directories:
                 from:
                 to: "C:\Program Files\Microsoft DirectX SDK (March
                 2009)\Lib\x86"
                 For projects:
                   + sample_debug
               o Property Pages/Configuration Properties/VC++
                 Directories/Library Directories:
                 from: $(LibraryPath)
                 to: $(LibraryPath);"C:\Program Files\Microsoft
                 DirectX SDK (March 2009)\Lib\x86"
                 For projects:
                   + samples
                   + pjsua
                   + pjsip_test
                   + pjsua
                   + pjmedia_test
                   + pjsystest


     Steps - automagic explained

 File list and steps to convert (just start batch files in this order):

  1. 01-unzip-sources.bat
     Hard to say what it does

     echo off

     set ZIP=c:\bin\7za.exe x

     %ZIP% pjproject-1.12.zip
     %ZIP% pjproject-2.0-beta.zip

     pause
            

  2. 02-backup-vcproj-files.bat
     Backing up *.vcproj files before import/conversion

     @echo off

     setlocal EnableDelayedExpansion

     set SED=c:\bin\sed.exe

     FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
        echo 

---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

        echo FILENAME_PATH_VCPROJ=%%s
        echo FILENAME=%%~ns
        echo FILENAME_W_EXT=%%~nxs
        echo PATH=%%~ps
        echo -------------------------------------------------
        set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc  <http://vcproj.mc>++.bckp!

        echo BACKUP=!BACKUP!

        echo !FILENAME_PATH_VCPROJ!
        echo !BACKUP!

        del !BACKUP!
        type !FILENAME_PATH_VCPROJ!>  !BACKUP!

     )

     dir /s /b *.vcproj

     dir /s /b *.bckp

     pause
            

  3. 03-remove-mobile-platforms-from-vcproj-files.bat
     Batch script that collects .vcproj files and applies XSLT
     trafo on them using msxsl.exe

     @echo off

     setlocal EnableDelayedExpansion

     ::TODO: saxon
     set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe
     set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt


     FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO (
        echo 

---=====
set FILENAME_PATH_VCPROJ=%%s
set FILENAME=%%~ns
set FILENAME_W_EXT=%%~nxs
set PATH=%%~ps

        echo FILENAME_PATH_VCPROJ=%%s
        echo FILENAME=%%~ns
        echo FILENAME_W_EXT=%%~nxs
        echo PATH=%%~ps
        echo -------------------------------------------------

        echo !FILENAME_PATH_VCPROJ!
        !XSLT_TRAFO_UTIL! ^
          !FILENAME_PATH_VCPROJ! ^
          !XSLT_TRAFO! ^
          -o !FILENAME_PATH_VCPROJ!


     )

     pause
            

  4. 03-remove-mobile-platforms-from-vcproj-files.xslt
     Actual XSLT

     <?xml version="1.0" encoding="utf-8"?>
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  <http://www.w3.org/1999/XSL/Transform>
          xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
          <!--<xsl:output method="xml" indent="yes"/>-->

        <!--
        -->
        <xsl:template match="@* | node()">
            <xsl:copy>
              <xsl:apply-templates select="@* | node()"/>
            </xsl:copy>
        </xsl:template>

          <!--<xsl:template match="AA">
            <xsl:copy>
              <xsl:apply-templates select="*[. = 'bar']"/>
            </xsl:copy>
          </xsl:template>-->


        <!--
          Empty templates - swallowing nodes
        -->
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>

        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/>
        <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']"  <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/>
     </xsl:stylesheet>
            

  5. 04-pjsip-prepare.bat
     Modifying (sedding with SED) .vsprops files (inserting xml
     needed to silence some warnings)
     Creating new Solutions that will be modified
     Preparing for test compilation config_site.h

     @echo off


     set SED=c:\bin\sed.exe

     echo

---==========
echo sed - inserting into pjproject-vs8-common-defaults.vsprops
echo to silence VS conversion warning MSB4211
:: -i.bak backup extension for inline replacement
%SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new

     %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^
        .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new

     echo copying backups etc...
     type ^
        .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak

     type ^
        .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak

     type ^
        .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

     type ^
        .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^

.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops

     echo

---==========
type ^
.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops

     echo

---==========
echo Creating new Soultions
type ^
pjproject-1.12\pjproject-vs8.sln ^

pjproject-1.12\pjproject-vs10.sln

     type ^
        pjproject-2.0-beta\pjproject-vs8.sln ^

pjproject-2.0-beta\pjproject-vs10.sln

     echo

---==========
echo Preparing files for Compilation (config_site.h)
type ^
pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^

pjproject-2.0-beta\pjlib\include\pj\config_site.h

     type ^
        pjproject-1.12\pjlib\include\pj\config_site_sample.h  ^

pjproject-1.12\pjlib\include\pj\config_site.h

     echo

---==========

     set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
     ::%DEVENV% pjproject-1.12\pjproject-vs10.sln
     ::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln

     pause
            

  6. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed


 Screenshots and zipped code:
 http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx

 let me know if something is unclear or wrong....

 regards

 mel


 On 2012.02.07 06 <tel:2012.02.07%2006>:19, Jörg Schwarzenberg wrote:
 Hi!
 How far is support for Visual Studio 2010?
 On Sat, 22 Oct 2011 ruiyun.wen@gmail.com
 <mailto:ruiyun.wen@gmail.com> posted his vs2010 project files for
 1.10 in this mailing list.

 He said: "No completed test, but build fine."

 For the 2.x branch nothing has been posted yet.


 Best Regards
 Jörg


 _______________________________________________
 Visit our blog:http://blog.pjsip.org

 pjsip mailing list
 pjsip@lists.pjsip.org  <mailto:pjsip@lists.pjsip.org>
 http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
 -- 
 Miljenko Cvjetko dipl.ing. ET
 	Direktor/CEO
 	Projektant rje¹enja/Solution Architect	
 	Razvojni programer/Senior developer
 	Voditelj projekta/Project Manager

 IX ju¾na obala 13
 Kajzerica Zagreb
 T: 385 1 7775555
 M: 385 91 557 447 3
 F: 385 1 7779556
 e:mcvjetko@holisticware.net  <mailto:mcvjetko@holisticware.net>
 w:http://www.holisticware.net


 _______________________________________________
 Visit our blog: http://blog.pjsip.org

 pjsip mailing list
 pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
 http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko@holisticware.net
w: http://www.holisticware.net

Hi On 2012.02.16 07:01, Benny Prijono wrote: > This is great. I'll make sure to refer to this whenever someone ask > for VS 2010 support. Thanks! No problems at al. Thank You guys. Right now I'm drilling through xcompling for android from Visual Studio with vs-android see: http://code.google.com/p/vs-android/ There are some issues, but I hope I'll be there soon... Benny let me know please, if there is something more to do (scripts, docs/howtos, etc), before I switch to something else... thanks and regards mel > > Best regards, > Benny > > > On Sat, Feb 11, 2012 at 12:21 AM, Miljenko Cvjetko > <mcvjetko@holisticware.net <mailto:mcvjetko@holisticware.net>> wrote: > > Howdy > > OK. I guess this is solved: > > > Visual Studio 2010 VC++ Solution Conversion HowTo > > > Perequisites - Tools > > * XSLT Trafo utility (msxsl.exe) > For changing/replacing/deleting nodes in XML config files of > Visual Studio > TODO: saxon? > * SED (MSDOS port) > for replacements in files > > > Steps old - manual what was done! > > 1. Download sources or grab our zip with everything in it. > 2. Unzip sources with 01-unzip-sources.bat > 3. Backup C/C++ project files with 02-backup-vcproj-files.bat > > foreach (File f = *.vcrpoj in folders) > { > copy(f,f.mc <http://f.mc>++.vcproj); > } > > > 4. Visual Studio 2010 does not support Mobile platforms (Windows > Mobile 5,6, Pocket PC and Smartphone) so remove those from > with the help of XSLT transformation > > remove-mobile-dependencies.xslt > requirements: c:\bin\msxsl.exe > > > 5. Prepare PJSIP for conversion and compilation > * Conversion: > * Compilation: > > copies > config-site-sample.h > to > config-site.h > > > > Conversion > > 1. pjproject-vs8-common-defaults.vsprops - does not contain: > > <UserMacro > Name="TargetCPU" > Value="i386" > /> > > > like > pjproject-vs8-win32-common-defaults.vsprops > Causes Wranings: > > MSB4211: > .\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-win32-common-defaults.props; > The property "TargetCPU" is being set to a value for the first time, but it was already consumed at > ".\PJSIP\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.props". > > > 2. Well known conversion issue and Warning MSB8012 has turned out > as non-problematic! > http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx > <http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx> > > > MSB8012: > $(TargetPath) ('.\PJSIP\pjproject-1.12\third_party\build\gsm\.\output\libgsmcodec--Win32-vc8-Debug\libgsmcodec.lib') > does not match the Librarian's OutputFile property value '..\..\lib\libgsmcodec-i386-Win32-vc8-Debug.lib' > ('.\SIP\lib\libgsmcodec-i386-Win32-vc8-Debug.lib') in project configuration 'Debug|Win32'. > This may cause your project to build incorrectly. > To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile). > > > > Compilation and Linking > > 1. DirectX SDK libray path: > 1. PJSIP 1.12 > Problem - Linker Error: > > Error 78 error LNK1181: cannot open input file > 'dxguid.lib' > D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-1.12\pjsip-apps\ > build\LINK sample_debug > Error 79 error MSB6006: "link.exe" exited with code 1181. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets 275 6 sample_debug > > > Solution/Workaround: > change > * Property Pages/Linker/General/Additional Library > Directories: > from: > to: "C:\Program Files\Microsoft DirectX SDK (March > 2009)\Lib\x86" > For projects: > o pjmedia_test > o pjsua > o pjsip_test > * Property Pages/Configuration Properties/VC++ > Directories/Library Directories: > from: $(LibraryPath) > to: $(LibraryPath);"C:\Program Files\Microsoft DirectX > SDK (March 2009)\Lib\x86" > For projects: > o samples > o sample_debug > o pjsystest > * PJSIP 2.0 Beta > Problem - Linker Error: > > Error 80 error LNK1104: cannot open file 'dxguid.lib' > D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\ > build\LINK samples > Error 82 error MSB3073: The command "nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" exited with code 2. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets 43 6 samples > Error 81 error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.EXE"' : return code '0x2' D:\SRC\HolisticWare\HolisticWare_VoIP\PJSIP\pjproject-2.0-beta\pjsip-apps\build\NMAKE samples > > > Solution/Workaround: > change > o Property Pages/Linker/General/Additional Library > Directories: > from: > to: "C:\Program Files\Microsoft DirectX SDK (March > 2009)\Lib\x86" > For projects: > + sample_debug > o Property Pages/Configuration Properties/VC++ > Directories/Library Directories: > from: $(LibraryPath) > to: $(LibraryPath);"C:\Program Files\Microsoft > DirectX SDK (March 2009)\Lib\x86" > For projects: > + samples > + pjsua > + pjsip_test > + pjsua > + pjmedia_test > + pjsystest > > > Steps - automagic explained > > File list and steps to convert (just start batch files in this order): > > 1. 01-unzip-sources.bat > Hard to say what it does > > echo off > > set ZIP=c:\bin\7za.exe x > > %ZIP% pjproject-1.12.zip > %ZIP% pjproject-2.0-beta.zip > > pause > > > 2. 02-backup-vcproj-files.bat > Backing up *.vcproj files before import/conversion > > @echo off > > setlocal EnableDelayedExpansion > > set SED=c:\bin\sed.exe > > FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( > echo ======================================================================= > set FILENAME_PATH_VCPROJ=%%s > set FILENAME=%%~ns > set FILENAME_W_EXT=%%~nxs > set PATH=%%~ps > > echo FILENAME_PATH_VCPROJ=%%s > echo FILENAME=%%~ns > echo FILENAME_W_EXT=%%~nxs > echo PATH=%%~ps > echo ------------------------------------------------- > set BACKUP=!FILENAME_PATH_VCPROJ:.vcproj=.vcproj.mc <http://vcproj.mc>++.bckp! > > echo BACKUP=!BACKUP! > > echo !FILENAME_PATH_VCPROJ! > echo !BACKUP! > > del !BACKUP! > type !FILENAME_PATH_VCPROJ!> !BACKUP! > > ) > > dir /s /b *.vcproj > > dir /s /b *.bckp > > pause > > > 3. 03-remove-mobile-platforms-from-vcproj-files.bat > Batch script that collects .vcproj files and applies XSLT > trafo on them using msxsl.exe > > @echo off > > setlocal EnableDelayedExpansion > > ::TODO: saxon > set XSLT_TRAFO_UTIL=c:\bin\msxsl.exe > set XSLT_TRAFO=.\03-remove-mobile-platforms-from-vcproj-files.xslt > > > FOR /F "tokens=*" %%s IN ('dir /s /b *.vcproj') DO ( > echo ======================================================================= > set FILENAME_PATH_VCPROJ=%%s > set FILENAME=%%~ns > set FILENAME_W_EXT=%%~nxs > set PATH=%%~ps > > echo FILENAME_PATH_VCPROJ=%%s > echo FILENAME=%%~ns > echo FILENAME_W_EXT=%%~nxs > echo PATH=%%~ps > echo ------------------------------------------------- > > echo !FILENAME_PATH_VCPROJ! > !XSLT_TRAFO_UTIL! ^ > !FILENAME_PATH_VCPROJ! ^ > !XSLT_TRAFO! ^ > -o !FILENAME_PATH_VCPROJ! > > > ) > > pause > > > 4. 03-remove-mobile-platforms-from-vcproj-files.xslt > Actual XSLT > > <?xml version="1.0" encoding="utf-8"?> > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <http://www.w3.org/1999/XSL/Transform> > xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" > > > <!--<xsl:output method="xml" indent="yes"/>--> > > <!-- > --> > <xsl:template match="@* | node()"> > <xsl:copy> > <xsl:apply-templates select="@* | node()"/> > </xsl:copy> > </xsl:template> > > <!--<xsl:template match="AA"> > <xsl:copy> > <xsl:apply-templates select="*[. = 'bar']"/> > </xsl:copy> > </xsl:template>--> > > > <!-- > Empty templates - swallowing nodes > --> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Debug-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Dynamic%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Pocket PC 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Smartphone 2003 (ARMV4)']"/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0PocketPCSDK%28ARMV4I%29%27%5D>/> > <xsl:template match="/VisualStudioProject/Configurations/Configuration[@Name='Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)']" <mailto:/VisualStudioProject/Configurations/Configuration%5B@Name=%27Release-Static%7CWindowsMobile5.0SmartphoneSDK%28ARMV4I%29%27%5D>/> > </xsl:stylesheet> > > > 5. 04-pjsip-prepare.bat > Modifying (sedding with SED) .vsprops files (inserting xml > needed to silence some warnings) > Creating new Solutions that will be modified > Preparing for test compilation config_site.h > > @echo off > > > set SED=c:\bin\sed.exe > > echo============================================================================ > echo sed - inserting into pjproject-vs8-common-defaults.vsprops > echo to silence VS conversion warning MSB4211 > :: -i.bak backup extension for inline replacement > %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new > > %SED% -f 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new > > > echo copying backups etc... > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.bak > > type ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.bak > > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ > >.\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops > > type ^ > .\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops.new ^ > >.\pjproject-2.0-beta\build\vs\pjproject-vs8-common-defaults.vsprops > > echo============================================================================ > type ^ > .\pjproject-1.12\build\vs\pjproject-vs8-common-defaults.vsprops > > echo============================================================================ > echo Creating new Soultions > type ^ > pjproject-1.12\pjproject-vs8.sln ^ > >>pjproject-1.12\pjproject-vs10.sln > > type ^ > pjproject-2.0-beta\pjproject-vs8.sln ^ > >>pjproject-2.0-beta\pjproject-vs10.sln > > echo============================================================================ > echo Preparing files for Compilation (config_site.h) > type ^ > pjproject-2.0-beta\pjlib\include\pj\config_site_sample.h ^ > >>pjproject-2.0-beta\pjlib\include\pj\config_site.h > > type ^ > pjproject-1.12\pjlib\include\pj\config_site_sample.h ^ > >>pjproject-1.12\pjlib\include\pj\config_site.h > > echo============================================================================ > > set DEVENV="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" > ::%DEVENV% pjproject-1.12\pjproject-vs10.sln > ::%DEVENV% pjproject-2.0-beta\pjproject-vs10.sln > > pause > > > 6. 04-pjsip-prepare-pjproject-vs8-common-defaults.vsprops.sed > > > Screenshots and zipped code: > http://www.holisticware.net/HolisticWare/Know-How/development/visual-studio/visual-studio-2010-vcpp-solution-conversion-howto.aspx > > let me know if something is unclear or wrong.... > > regards > > mel > > > On 2012.02.07 06 <tel:2012.02.07%2006>:19, Jörg Schwarzenberg wrote: >> Hi! >> >>> How far is support for Visual Studio 2010? >> >> On Sat, 22 Oct 2011 ruiyun.wen@gmail.com >> <mailto:ruiyun.wen@gmail.com> posted his vs2010 project files for >> 1.10 in this mailing list. >> >> He said: "No completed test, but build fine." >> >> For the 2.x branch nothing has been posted yet. >> >> >> Best Regards >> Jörg >> >> >> _______________________________________________ >> Visit our blog:http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > -- > Miljenko Cvjetko dipl.ing. ET > Direktor/CEO > Projektant rje¹enja/Solution Architect > Razvojni programer/Senior developer > Voditelj projekta/Project Manager > > IX ju¾na obala 13 > Kajzerica Zagreb > T: 385 1 7775555 > M: 385 91 557 447 3 > F: 385 1 7779556 > e:mcvjetko@holisticware.net <mailto:mcvjetko@holisticware.net> > w:http://www.holisticware.net > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -- Miljenko Cvjetko dipl.ing. ET Direktor/CEO Projektant rjes(enja/Solution Architect Razvojni programer/Senior developer Voditelj projekta/Project Manager IX juz(na obala 13 Kajzerica Zagreb T: 385 1 7775555 M: 385 91 557 447 3 F: 385 1 7779556 e: mcvjetko@holisticware.net w: http://www.holisticware.net