我正在尝试在 Windows 7 上使用 Visual Studio 2013 64 位构建 Live555 的组件。
我尝试编辑 win32config 和 *.mak 文件,但没有成功。我已经在互联网上搜索了几个小时,并使用命令提示符尝试了各种操作。
由于某种原因,VS2013 x64 命令提示符仍在构建 32 位静态库,我不明白为什么。
如果有人有任何好主意,那就太棒了!
从 .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(或 CMD 文件)运行 genWindowsMakefiles 命令。接下来,启动 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 才能获得调试版本。
为了使用 Visual Studio 2013 编译 64 位本机代码,您
需要专业版。
打开 VS2013 x64 本机工具命令提示符
然后确保将 TOOLS32 更正为 VC/bin 目录后将 C_COMPILER 设置为“$(TOOLS32)\bin\amd64\cl”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)