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 at 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 at 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 at holisticware.net w: http://www.holisticware.net -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120210/197fbd26/attachment-0001.html>