2017-02-15 5 views
0

私は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

+2

環境が壊れているようです。 Visual Studioのコマンドプロンプトからcmakeを実行していますか?関係するソフトウェアのバージョンは何ですか? – rubenvb

+0

@rubenvb忘れて、私はcmake-gui 3.5.2を使用しています。 MinGW-w64 x86_64-4.9.2-posix-seh-rt_v3-rev1;とlibpng v16(1617);私は現在何とか自分の環境変数をすべてデフォルトにリセットしようとしています。 – Matusn

答えて

0

が含まれていることを発見し、デフォルトに環境変数を設定し、それが今で動作しているようです。正確に何が間違っていたのか分からない。

関連する問題