4

私のプロジェクトには、Swift 2.2、Objective C、および C++ と Xcode 7.3 が含まれています。

生成された ProducModuleName-Swift.h ファイルに次のエラーが表示されます

Typedef redefinition with different types ('uint_least16_t' (aka 'unsigned short') vs 'char16_t')
Typedef redefinition with different types ('uint_least32_t' (aka 'unsigned int') vs 'char32_t')

次のセクションで

if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if defined(__has_include) && __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus) || __cplusplus < 201103L
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif

C++ パラメーターを C++ 11 に変更することでエラーを回避できます。これにより、この厄介なコードがスキップされます。

ただし、これに対するよりクリーンな解決策があるかどうかを知りたいです。

**ここに画像の説明を入力**

上記のコードを明確にするために、XCode がコンパイル時に生成するコードを示します。私はこのコードを制御できません

4

0 に答える 0