Linux CからWindows用のVisual C++にコードを移植しています。
Visual C++は#include <stdint.h>
を知らないため、コメントアウトしました。
後で、これらの'uint32_t': identifier not found
エラーがたくさん見つかりました。どうすれば解決できますか?
このタイプは、C++ 11標準の一部ですがC++ 03の標準ではないCヘッダー<stdint.h>
で定義されています。 ヘッダーのWikipediaページ によると、VS2010までVisual Studioに同梱されていません。
それまでは、Cが期待する型に Microsoftのカスタム整数型 をマップするtypedef
sを追加することにより、おそらく独自のバージョンのヘッダーを作成できます。
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */
お役に立てれば!
#include <cstdint>
できます。 2011年以降のC++標準の一部です。
私は同じエラーがあり、ファイルに次のものを含めて修正しました
#include <stdint.h>
ファイルの先頭。
msinttypesプロジェクトページ -「このプロジェクトは、Microsoft Visual Studioのstdint.hおよびinttypes.hの不在を満たします」で利用可能な実装があります。
私はこの実装の経験はありませんが、SOの他の人から推奨されているのを見てきました。
Windowsでは、通常、Windowsタイプを使用します。使用するには、<Windows.h>
を含める必要があります。
この場合、uint32_tはUINT32または単にUINTです。
すべてのタイプの定義は次のとおりです。 http://msdn.Microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
VS2010でプロジェクトを実行する必要があり、コードに変更を加えることはできませんでした。私のソリューションは、vS2013をインストールし、VS2010でVC++ディレクトリ-> IncludeDirectoriesをProgram Files(x86)\ Microsoft Visual Studio 12.0\VC\includeにポイントすることでした。その後、私のプロジェクトは問題なくコンパイルされました。