私はMinGW-w64(x86_64)でlibpngをコンパイルしようとしています。私はMinGW Makefiles
ジェネレータを使ってCMakeでlibpngをセットアップしました。 makeを実行すると、次の出力が得られます。MinGWは独自のものではなくVisual Studioヘッダを使用します
Scanning dependencies of target png16
[ 2%] Building C object CMakeFiles/png16.dir/png.obj
In file included from C:/PROGRA~2/MICROS~3.0/VC/include/vcruntime.h:46:0,
from C:/PROGRA~2/MICROS~3.0/VC/include/crtdefs.h:9,
from C:/PROGRA~1/MINGW-~1/X86_64~1.2-P/mingw64/x86_64-w64-mingw32/include/stdlib.h:9,
from C:\CPP\deps\lpng1617\pngpriv.h:42,
from C:\CPP\deps\lpng1617\png.c:14:
C:/PROGRA~2/MICROS~3.0/VC/include/vadefs.h:28:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'uintptr_t'
typedef unsigned __int64 uintptr_t;
^
In file included from C:/PROGRA~2/MICROS~3.0/VC/include/crtdefs.h:9:0,
from C:/PROGRA~1/MINGW-~1/X86_64~1.2-P/mingw64/x86_64-w64-mingw32/include/stdlib.h:9,
from C:\CPP\deps\lpng1617\pngpriv.h:42,
from C:\CPP\deps\lpng1617\png.c:14:
C:/PROGRA~2/MICROS~3.0/VC/include/vcruntime.h:81:1: error: unknown type name 'pack'
_CRT_BEGIN_C_HEADER
^
... and more ...
なぜMinGWはVisual Studioのヘッダファイルをインクルードしようとしていますか? 9行目のstdlib.h
には、crtdefs.h
が含まれています。これはVisual Studioに含まれており、MinGWディレクトリには含まれていません。どうして?
crtdefs.h
は私の%PATH%
変数は、すべてのVisual Studioの(もWindowsのSDK)のフォルダが含まれていません(次のstdlib.h
へ)MinGWのディレクトリに
存在しません。
は、より多くの調査の後、私はbuild\CMakeFiles\png16_static.dir\includes_C.rsp
はMinGWのとCMakeのを再インストールし、いくつかのシステムの再起動後-IC:/PROGRA~2/MICROS~3.0/VC/include
環境が壊れているようです。 Visual Studioのコマンドプロンプトからcmakeを実行していますか?関係するソフトウェアのバージョンは何ですか? – rubenvb
@rubenvb忘れて、私はcmake-gui 3.5.2を使用しています。 MinGW-w64 x86_64-4.9.2-posix-seh-rt_v3-rev1;とlibpng v16(1617);私は現在何とか自分の環境変数をすべてデフォルトにリセットしようとしています。 – Matusn