禁用 LibCURL 包含的 PlaySound()
Disabling PlaySound() that is included by LibCURL
我用 raylib 开发已经有一段时间了。
我已经让 libcurl 工作了,但它不适用于 windows.h
,因为函数名称覆盖了其他名称。
但是,有一个解决方法,通过提及这些定义(在 curl.h
中):
#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()
。
你提到的#define
是Win32 SDK定义的。他们指示 windows.h
(更准确地说,是 windows.h
本身 #include
的各种其他 Win32 headers)不要 define/declare 各种符号。
您要查找的 #define
以省略 PlaySound(A|W)
(在 mmsystem.h
中)的声明是:
#define MMNOSOUND
这是 mmsystem.h
中的完整 table 定义:
* 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
或者:
#define WIN32_LEAN_AND_MEAN
这将阻止 windows.h
#include
发送一堆 headers,包括 mmsystem.h
.
我用 raylib 开发已经有一段时间了。
我已经让 libcurl 工作了,但它不适用于 windows.h
,因为函数名称覆盖了其他名称。
但是,有一个解决方法,通过提及这些定义(在 curl.h
中):
#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()
。
你提到的#define
是Win32 SDK定义的。他们指示 windows.h
(更准确地说,是 windows.h
本身 #include
的各种其他 Win32 headers)不要 define/declare 各种符号。
您要查找的 #define
以省略 PlaySound(A|W)
(在 mmsystem.h
中)的声明是:
#define MMNOSOUND
这是 mmsystem.h
中的完整 table 定义:
* 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
或者:
#define WIN32_LEAN_AND_MEAN
这将阻止 windows.h
#include
发送一堆 headers,包括 mmsystem.h
.