使用 Visual Studio 2013 构建 64 位 Live555

2024-02-23

我正在尝试在 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(使用前将#替换为@)

使用 Visual Studio 2013 构建 64 位 Live555 的相关文章

随机推荐

  • 如何在 C# 中使用 FILE_ATTRIBUTE_TEMPORARY 创建文件?

    如何在 C 中使用 FILE ATTRIBUTE TEMPORARY 创建文件 所以将数据存储在Ram中但能够将其用作普通文件 我相信你必须使用 P Invoke 来调用本机CreateFile然后使用文件流 安全文件句柄 文件访问 htt
  • SQL Server 返回意外的周数

    我的表中有一些订单 2011 年的最后订单日期是 12 月 20 日 我使用 sql 命令来计算给定一周内的订单数 SELECT CONVERT VARCHAR 3 DATENAME week convert datetime order
  • ASP.NET 如何知道在回发期间触发哪个事件?

    在回发期间 EVENTTARGET表单变量保存name of the control发出回发 如果控件支持多个服务器端事件 ASP NET 如何知道要为该控件触发哪个事件 正如 Wiktor 提到的 ASP Net 中的许多控件已经为您以某
  • Inno Setup - 如何本地化组件和类型名称?

    如何本地化组件和类型名称 例如 Languages Name eng MessagesFile Idiomas English isl Name spa MessagesFile Idiomas Spanish isl 如果我选择英语 Ty
  • iOS CPU 配置文件:为什么这个线程会占用 99.9% 的 CPU?

    有时 当我加载表视图时 除了让表视图显示之外 我没有故意执行任何活动 我会等待几秒钟 然后 CPU 使用率就会飙升 我怎样才能找到原因 为什么这个线程会占用 99 9 的 CPU 我不知道 但这里有一些想法 负责的图书馆是UIKit 所以看
  • 暴露 Google Container Engine 中的两个端口

    是否可以在 Google 容器引擎中创建一个公开两个端口的 Pod 端口 8080 正在侦听传入内容 端口 80 将此内容分发给客户端 Google 给出了以下创建 Pod 的命令作为示例 kubectl run hello node im
  • JavaScript JSON 解析器告诉错误位置

    我在解析通过 WebSocket 接收的 JSON 时遇到了一些麻烦 原始问题 解析通过 WebSocket 接收到的 JSON 会导致错误 https stackoverflow com questions 7116035 parse j
  • 枚举类型的复选框列表 MVC Razor

    在我的 c net MVC 应用程序中 我想显示枚举类型的复选框列表 我有一个枚举类型 Flags public enum ModeType Undefined 0 Read 1 Edit 2 我的模型是 Public TrainingMo
  • https 设置后 django 站点 ERR_SSL_PROTOCOL_ERROR

    所以我正在尝试部署我的网站并且基本上尝试过 python manage py check deploy 并遵循它告诉我的一切 WARNINGS security W004 You have not set a value for the S
  • 使用部分字符串 lua 查找完整字符串

    我试图在表中查找整个字符串而不编写完整的字符串 Example maintable SecondString FirstString c First 我怎样才能使用字符串c无需输入整个字符串名称即可查找 FirstString 的完整名称
  • 带有 Bootstrap 布局的 jQuery UI 可拖动

    jQuery 可拖动元素位于引导样式列 col 下 例如 我有两个 row每列分为 4 列 col md 3 我试图将第一行列拖动到第二行可放置列上 但是当我拖动 Drag 元素时 它们总是位于 可放置 元素下方 我无法使用 Bootstr
  • Flutter ScreenState Dispose 方法异常

    当我尝试在颤动中从一个屏幕导航到另一个屏幕时 我收到一个异常 指出我要更改的 ScreenState 不会调用super dispose in its dispose方法 然而 被覆盖的dispose方法明确调用super dispose
  • 使用 l20n 本地化属性

    我想本地化一个placeholder具有 L20N 属性 我在他们的文档中找不到任何内容 并且这样做 毫不奇怪 不起作用
  • Dropzone上传的文件同名

    我有一个带有 dropzone 的普通表单 所有值和文件都上传到服务器 但是当我通过打印 FILES 变量检查它时 所有上传的文件与最后上传的文件具有相同的名称和扩展名 但具有正确的 mime 每个文件的类型 因此 当我上传具有不同文件类型
  • OpenCV 读取不起作用

    I have loop in my C code to open and process a set of images One of those is https i stack imgur com rUJnp gif https i s
  • 如何在 Python 中将表示二进制分数的字符串转换为数字

    假设我们有一个表示二进制分数的字符串 例如 1 以十进制数表示为 0 5 Python 中是否有一种标准方法可以将此类字符串转换为数字类型 无论是二进制还是十进制并不严格重要 对于整数 解决方案很简单 int 101 2 gt gt gt
  • 伪快速排序时间复杂度

    我知道快速排序有O n log n 平均时间复杂度 经常用于演示函数式语言的简洁性的伪快速排序 仅当您从足够远的地方看时 具有适当高的抽象级别时 它才是快速排序 如下 在 Haskell 中给出 quicksort Ord a gt a g
  • GDB:捕获信号并继续调试

    我试图在 GDB 中捕获浮点异常 SIGFPE 而不是将其传递给进程并继续调试 我已经给了 gdb 这个 handle SIGFPE stop nopass 当 SIGFPE 发生时 GDB 会停在正确的位置 问题是我不能也不知道如何继续调
  • 创建相对于 jetpack 中其他元素的垂直链组成 ConstraintLayout?

    我想使用 chainStyle Packed 将标题和描述文本链接到以图像为中心的位置 如何在 jetpack compose 中实现此目的 当我使用时createVerticalChain 它相对于父容器的创建链不是我想要的 有没有办法实
  • 使用 Visual Studio 2013 构建 64 位 Live555

    我正在尝试在 Windows 7 上使用 Visual Studio 2013 64 位构建 Live555 的组件 我尝试编辑 win32config 和 mak 文件 但没有成功 我已经在互联网上搜索了几个小时 并使用命令提示符尝试了各