Hi
How far is support for Visual Studio 2010?
I have managed to
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?
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
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:
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
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
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:
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
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!
Download sources or grab our zip with everything in it.
Unzip sources with 01-unzip-sources.bat
Backup C/C++ project files with 02-backup-vcproj-files.bat
foreach (File f = *.vcrpoj in folders)
{
copy(f, f.mc++.vcproj);
}
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
Prepare PJSIP for conversion and compilation
Conversion:
Compilation:
copies
config-site-sample.h
to
config-site.h
Conversion
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".
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
DirectX SDK libray path:
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):
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
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
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
03-remove-mobile-platforms-from-vcproj-files.xslt
Actual XSLT
<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>
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
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
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:
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
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