我已经用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()。
发布于 2022-03-29 16:44:48
您提到的#define是Win32 SDK定义的。它们指示windows.h (更准确地说,是windows.h本身#include的各种其他Win32标头)不定义/声明各种符号。
您希望省略#define的PlaySound(A|W)声明(在mmsystem.h中)是:
#define MMNOSOUND以下是mmsystem.h中定义的完整表
* 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对一堆标题(包括mmsystem.h )进行#include‘处理。
https://stackoverflow.com/questions/71665487
复制相似问题