使用 Visual Studio 2013 构建 64 位 Live555

Building 64bit Live555 with Visual Studio 2013

我正在尝试在 Windows 7.

上使用 Visual Studio 2013 64 位构建 Live555 的组件

我试过编辑 win32config 和 *.mak 文件但没有成功。我已经在互联网上搜索了几个小时,并尝试使用命令提示符进行各种操作。

出于某种原因,VS2013 x64 命令提示符仍在构建 32 位静态库,我不明白为什么。

如果有人有什么好主意,那就太好了!

为了使用 Visual Studio 2013 编译 64 位本机代码,您需要专业版。

打开 VS2013 x64 本机工具命令提示符

然后确保在将 TOOLS32 更正到 VC/bin 目录后将 C_COMPILER 设置为“$(TOOLS32)\bin\amd64\cl”。

您从 .tar.gz 文件中获取的 win32config 文件需要大量编辑才能使其与最新的 SDK 和 MSVC++ 版本兼容。这是生成干净构建的版本:

NODEBUG=1
TARGETOS = WINNT

UI_OPTS =       $(guilflags) $(guilibsdll)
CONSOLE_UI_OPTS =   $(conlflags) $(conlibsdll)
CPU=amd64

COMPILE_OPTS =      $(INCLUDES) $(cdebug) $(cflags) $(cvarsdll) -I. /EHsc /O2 /MD /GS /D "WIN64" /Oy- /Oi /D "NDEBUG"
C =         c
C_COMPILER =        cl
C_FLAGS =       $(COMPILE_OPTS)
CPP =           cpp
CPLUSPLUS_COMPILER =    $(C_COMPILER)
CPLUSPLUS_FLAGS =   $(COMPILE_OPTS)
OBJ =           obj
LINK =              link -out:
LIBRARY_LINK =      lib -out:
LINK_OPTS_0 =       $(linkdebug) ws2_32.lib /NXCOMPAT
LIBRARY_LINK_OPTS = 
LINK_OPTS =     $(LINK_OPTS_0) $(UI_OPTS)
CONSOLE_LINK_OPTS = $(LINK_OPTS_0) $(CONSOLE_UI_OPTS)
SERVICE_LINK_OPTS =     kernel32.lib advapi32.lib shell32.lib ws2_32.lib -subsystem:console,$(APPVER)
LIB_SUFFIX =        lib
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
MULTIMEDIA_LIBS =   winmm.lib
EXE =           .exe
PLATFORM = Windows

rc32 = rc.exe
.rc.res:
    $(rc32) $<

编辑此文件后,运行 来自 bash 的 genWindowsMakefiles 命令(或 CMD 文件)。接下来,启动 x64 Visual Studio 命令提示符。确保您获得了它的 x64 本机配置风格。发出以下命令:

cd c:\projects\live\liveMedia
nmake -f liveMedia.mak
cd ..\groupsock
nmake -f groupsock.mak
cd ..\UsageEnvironment
nmake -f UsageEnvironment.mak
cd ..\BasicUsageEnvironment
nmake -f BasicUsageEnvironment.mak
cd ..\testProgs
nmake -f testProgs.mak
cd ..\mediaServer
nmake -f mediaServer.mak

更改第一个命令以匹配您放置源代码的目录。 TODO 项目:清理不起作用,它尝试使用 *nix rf 命令。最简单的解决方法是 del *.obj 强制编译器重建目标文件 .exe 文件是在没有清单的情况下构建的。对于测试程序应该无关紧要,我假设您只对 .lib 文件感兴趣 它构建库和可执行文件的发布版本,您必须调整 COMPILE_OPTS 以获得调试版本。

In order to compile 64 bit native code with Visual Studio 2013, you require professional edition.

打开 VS2013 x64 本机工具命令提示符 然后确保在将 TOOLS32 更正为 VC/bin 目录后将 C_COMPILER 设置为“$(TOOLS32)\bin\amd64\cl”。