最新のcygwin64環境で、g ++ 6.4.0を使用してCPPアプリケーション(オープンソースプロジェクト)をコンパイルしようとしましたが、次のエラーが表示されます:CPPアプリケーションのコンパイル中にエラーが発生しました。 "エラー: 'posix_memalign'がこのスコープで宣言されていませんでした。"
error: 'posix_memalign' was not declared in this scope
posix_memlignが最も単純なCPP "hello world"アプリケーションをコンパイルすると、posix_memlignを呼び出す際に問題がないので、posix_memlignがstdlib.hにあります。
プロジェクトレポートのメイクファイルのコンパイル
g++ -DHAVE_CONFIG_H -I. -Wall -Wnon-virtual-dtor -I. -I./include -g -O3 -std=c++0x -g -O3 -std=c++0x -MT lib/rectangular_binary_matrix.lo -MD -MP -MF lib/.deps/rectangular_binary_matrix.Tpo -c lib/rectangular_binary_matrix.cc -DDLL_EXPORT -DPIC -o lib/.libs/rectangular_binary_matrix.o
ための以下の設定はデフォルトをオーバーライドするようなので、それは見ていませんが、パスが含まれています。何か案は?
p.s. Linux(Redhat)で問題なくコードをビルドすることができました。他の コンパイラは他のビルダーからGCCコンパイラを含め、そうかもしれないが
削除してみてください '-std = C++ 0x'それは提案のための – matzeri
感謝の宣言の有効範囲は減少しますが、完全にずっと以前のビルドを破るように見えますそれは実行可能なオプションではありません – Eden