Questions et réponses de la communauté

Bienvenue sur le forum de questions et réponses d'Audiokinetic, propulsé par la communauté. C'est l'endroit où les utilisateurs de Wwise et Strata s'entraident. Pour obtenir une aide directe de notre équipe, veuillez utiliser la page « Tickets de soutien ». Pour signaler un bug, utilisez l'option Bug Report dans l'Audiokinetic Launcher. (Veuillez noter que les rapports de bug soumis au forum questions-réponses seront rejetés. L'utilisation de notre système de rapport de bug dédié garantit que votre rapport est vu par les bonnes personnes et a les meilleures chances d'être corrigé.)

Pour obtenir rapidement les meilleures réponses, suivez ces conseils lorsque vous posez une question :

  • Soyez précis : qu'essayez-vous de réaliser ou quel est le problème spécifique que vous rencontrez ?
  • Pensez à inclure les détails importants : incluez des détails tels que les versions de Wwise et du moteur de jeu, le système d'exploitation, etc.
  • Expliquez ce que vous avez essayé de faire : indiquez aux autres les mesures que vous avez déjà prises pour essayer de résoudre le problème.
  • Concentrez-vous sur les faits : décrivez les aspects techniques de votre problème. Se concentrer sur le problème aide les autres personnes à trouver rapidement une solution.

0 votes

We have noticed compilation errors in "C:\Program Files (x86)\Audiokinetic\Wwise2023.1.8.8601\SDK\include\AK\Tools\Common\AkBitFuncs.h" when building against prebuilt x64 libs with clang (ie. https://clang.llvm.org) in wwise 2023.1.8.8601

This appears to be due to the fact that _MSC_VER is #defined in clang.
Please see the following documentation for more information 
https://clang.llvm.org/docs/UsersManual.html#microsoft-extensions


For instance, the following code snippet does not compile with clang due to the fact that the MSVC-specific _BitScanForward function is not defined.
Note that the commented-out code can be used as a workaround but requires modifying headers in the wwise distribution :-/.

Please note that I have tried to disable MS compatibility and extensions using the following switches to no avail.
    -fno-ms-compatibility
    -fno-ms-extensions

I thought it was worth bringing this issue to the attention of the AK developers in order to hopefully avoid this problem for future releases.

-------------------------------------------------------------------------------------------
//#if defined _MSC_VER && !defined(__clang__)
#if defined _MSC_VER
    AkForceInline AkUInt32 AkBitScanForward(AkUInt32 in_bits)
    {
        unsigned long ret = 0;
        _BitScanForward(&ret, in_bits);
        return in_bits ? ret : 32;
    }

#elif defined(__clang__) || defined (__GNUC__)
    AkForceInline AkUInt32 AkBitScanForward(AkUInt32 in_bits)
    {
        return in_bits ? __builtin_ctz(in_bits) : 32;
    }
#else
    AkForceInline AkUInt32 AkBitScanForward(AkUInt32 in_bits)
    {
        if (in_bits == 0) return 32;
        AkUInt32 ret = 0;
        if ((in_bits & 0x0000FFFFULL) == 0) { ret += 16; in_bits >>= 16; }
        if ((in_bits & 0x000000FFULL) == 0) { ret += 8;  in_bits >>= 8; }
        if ((in_bits & 0x0000000FULL) == 0) { ret += 4;  in_bits >>= 4; }
        if ((in_bits & 0x00000003ULL) == 0) { ret += 2;  in_bits >>= 2; }
        if ((in_bits & 0x00000001ULL) == 0) { ret += 1;  in_bits >>= 1; }
        return ret;
    }
#endif

dans General Discussion par alphablit_matt (120 points)

1 Réponse

0 votes
Thanks for the report. We'll look into this and resolve it in a future release.
par ak_dcrooks (220 points)
...