gpt4 book ai didi

c++ - 如何在 Windows/C++ 中简单地发送 OSC 数据包?

转载 作者:行者123 更新时间:2023-11-30 04:29:07 29 4
gpt4 key购买 nike

我有一个 VS2010 项目,它是一个从特定蓝牙设备获取数据的 Windows 应用程序。我想要做的就是改变我的采集线程以发送它使用 OSC 采集的数据。

我花了很长时间尝试使用一个名为 LIBLO 的库,但它似乎使用 POSIX 风格的异步性来运行。我花了更多时间尝试让 pthreads-win32 为我工作,以便我仍然可以使用这个库,但仍然没有运气。

我转而尝试使用 OSCPACK 库,我无法使用发行版中包含的批处理文件进行编译。我最终能够让我的 VS2010 项目识别该库,但我现在得到的只是链接器错误(LNK2019 和 LNK2001)。相关目录在项目属性的“附加包含目录”中列出。我知道这应该很容易解决,但经过一天的挫折后,我束手无策。我习惯在 osx 中使用 xcode,所以发现很难在 VS2010 中完成任何事情。我是否需要向链接器提供额外的说明?

任何人都可以建议一个简单的、预构建的与 windows/VS 兼容的 OSC 库,或者我如何解决我的未解决外部问题?

最佳答案

OSC 是一个非常简单的协议(protocol),尤其是当您只需要发送外发 OSC 消息而不关心接收(和解析)传入 OSC 消息时。您可以做的一件事就是简单地阅读 spec看看一些 examples并编写您自己的函数,以规定的格式将 OSC 数据添加到字节缓冲区中。这只需几个小时的工作即可完成。然后只需通过 UDP 套接字发送该 char 缓冲区,这也非常简单。根据您的需要,这可能比尝试与第三方 OSC 库集成更容易(我同意这可能会令人沮丧,尤其是在 Windows 下)。

另一种可能性是使用 OSCPACK,但不是尝试单独构建它然后链接到生成的 DLL/LIB 文件,只需将必要的 OSCPACK .c 文件直接复制到您自己的项目的源代码树中并将它们编译到您的可以像编译自己的代码一样执行。这将避免任何恼人的构建/链接问题,这些问题可能伴随着试图让两个不同的构建系统协同工作而出现,而且它还让您可以完全控制您的( SCSS )OSC 代码拷贝......例如如果您希望 OSCPACK 中的特定函数以不同方式工作,您可以简单地修改该函数的拷贝。 (如果你这样做,一定要明确代码不再是“库存”,以避免混淆......当然尽量不要以破坏与其他 OSC 使用的协议(protocol)兼容性的方式修改它软件)

关于c++ - 如何在 Windows/C++ 中简单地发送 OSC 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657426/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com