首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用由PlaySound包含的LibCURL ()

禁用由PlaySound包含的LibCURL ()
EN

Stack Overflow用户
提问于 2022-03-29 16:13:21
回答 1查看 61关注 0票数 0

我已经用raylib开发了很长一段时间。

我已经开始使用libcurl了,但是它不适用于windows.h,因为函数名压倒了其他函数。

但是,通过提到这些定义(在curl.h中),有一个解决办法:

代码语言:javascript
复制
#define NOGDICAPMASKS - this disables CC_, LC_, PC_, CP_ TC_ RC_

#define NOVIRTUALKEYCODES - this disables VK_

#define NOWINMESSAGES - this disables WM_ EM_ LB_

#define NOWINSTYLES - this disables WS_, CS_, ES_, LBS_, SBS_, CBS_

#define NOSYSMETRICS - this disables SM_

名单上写着..。

请记住,我不需要这些,我不会使用这些,因为我试图使它尽可能跨平台,只有libcurl包括这些,但它不使用它们的任何方式。

我要问的是,我在哪里可以找到完整的列表,如果不是一个定义,停止包含PlaySound()PlaySoundA()等。以及其他与声音有关的功能,因为它们干扰了来自raylib的PlaySound()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 16:44:48

您提到的#define是Win32 SDK定义的。它们指示windows.h (更准确地说,是windows.h本身#include的各种其他Win32标头)不定义/声明各种符号。

您希望省略#definePlaySound(A|W)声明(在mmsystem.h中)是:

代码语言:javascript
复制
#define MMNOSOUND

以下是mmsystem.h中定义的完整表

代码语言:javascript
复制
 *  Define:         Prevent inclusion of:
 *  --------------  --------------------------------------------------------
 *  MMNODRV         Installable driver support
 *  MMNOSOUND       Sound support
 *  MMNOWAVE        Waveform support
 *  MMNOMIDI        MIDI support
 *  MMNOAUX         Auxiliary audio support
 *  MMNOMIXER       Mixer support
 *  MMNOTIMER       Timer support
 *  MMNOJOY         Joystick support
 *  MMNOMCI         MCI support
 *  MMNOMMIO        Multimedia file I/O support
 *  MMNOMMSYSTEM    General MMSYSTEM functions

另一种选择是:

代码语言:javascript
复制
#define WIN32_LEAN_AND_MEAN

这将防止windows.h对一堆标题(包括mmsystem.h )进行#include‘处理。

恶毒的人?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71665487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档