在Visual Studio 2010上使用.mak文件

时间:2011-01-20 09:52:16

标签: visual-studio-2010 visual-c++ makefile streaming

我正在尝试在Windows上测试live555库(live555.com)。以下是说明:http://www.live555.com/liveMedia/#config-windows

我设法生成.mak文件,但现在我不知道如何在Visual Studio 2010中使用它们来启动任何应用程序(如openRTSP或playSIP)。

如何在Visual Studio 2010中使用或打开.mak文件?

感谢您的帮助。 问候!

4 个答案:

答案 0 :(得分:14)

在尝试使用Visual Studio 2012编译live555时,我遇到了类似的问题。这是我需要做的一些事情来构建它。第3项目基于compiling live555 with vs2008

的这些说明

1)我不得不将nmake.exe 从另一个位置复制到 VC \ bin目录中(它在其他地方)。有关详细信息,请参阅social MSDN page

2)此外,我还必须从.mak文件中删除问号(例如“prefix?= ...”)以进行条件赋值,否则它将无法构建(错误是“ =“左边”。

3)打开'win32config'文件并将TOOLS32 = ...变量更改为     你的VS2008安装目录。对我而言,它是TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC

4)在'win32config'中,修改     LINK_OPTS_0= ...从msvcirt.lib到msvcrt.lib的行。这解决了 链接错误:LINK : fatal error LNK1181: cannot open input file 'msvcirt.lib'

5)打开Visual Studio命令提示符。 在“实时”源目录中,运行genWindowsMakefiles

6)现在你已经准备好了。只需运行以下命令:

cd liveMedia
nmake /B -f liveMedia.mak

cd ..\groupsock
nmake /B -f groupsock.mak
cd ..\UsageEnvironment
nmake /B -f UsageEnvironment.mak
cd ..\BasicUsageEnvironment
nmake /B -f BasicUsageEnvironment.mak
cd ..\testProgs
nmake /B -f testProgs.mak
cd ..\mediaServer
nmake /B -f mediaServer.mak

答案 1 :(得分:7)

据我所知,你不能在最近的视觉工作室中打开.maks - 你必须从命令行编译它们。

打开Visual Studio命令提示符(或在常规命令提示符下从VS Common \ Tools目录运行vsvars32.bat)然后尝试

nmake /f abc.mak

我有一种感觉你可以在VS6中打开makefile但是不记得了 - 它可能已经生成了它们。

答案 2 :(得分:1)

答案 3 :(得分:1)

下载并构建“Visual Studio 2017社区”脚本,需要C ++功能(Visual Studio的安装对话框)7Zip也是必需的。

安装-live555.cmd

PowerShell (New-Object System.Net.WebClient).DownloadFile('http://www.live555.com/liveMedia/public/live555-latest.tar.gz','live555-latest.tar.gz');
"%PROGRAMFILES%\7-Zip\7z.exe" x -aoa live555-latest.tar.gz
"%PROGRAMFILES%\7-Zip\7z.exe" x -aoa live555-latest.tar

powershell -Command "(gc live\win32config) -replace '!include    <ntwin32.mak>', '#!include    <ntwin32.mak>' | Out-File live\win32config"
powershell -Command "(gc live\win32config) -replace 'c:\\Program Files\\DevStudio\\Vc', 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503' | Out-File live\win32config"
powershell -Command "(gc live\win32config) -replace '\(TOOLS32\)\\bin\\cl', '(TOOLS32)\bin\HostX86\x64\cl' | Out-File live\win32config"
powershell -Command "(gc live\win32config) -replace 'LINK =         \$\(link\) -out:', 'LINK = link ws2_32.lib /out:' | Out-File live\win32config"
powershell -Command "(gc live\win32config) -replace 'LIBRARY_LINK =     lib -out:', 'LIBRARY_LINK = lib /out:' | Out-File live\win32config"
powershell -Command "(gc live\win32config) -replace 'msvcirt.lib', 'msvcrt.lib' | Out-File live\win32config"

call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -arch=x64

cd live

call genWindowsMakefiles

cd liveMedia
del *.obj *.lib
nmake /B -f liveMedia.mak
cd ..\groupsock
del *.obj *.lib
nmake /B -f groupsock.mak
cd ..\UsageEnvironment
del *.obj *.lib
nmake /B -f UsageEnvironment.mak
cd ..\BasicUsageEnvironment
del *.obj *.lib
nmake /B -f BasicUsageEnvironment.mak
cd ..\testProgs
del *.obj *.lib
nmake /B -f testProgs.mak
cd ..\mediaServer
del *.obj *.lib
nmake /B -f mediaServer.mak
cd ..

pause