2017-07-21 14 views
0

CMake 3.9.0でzlibをビルドしようとしましたが、出力がMinGW Makefilesに設定されていて、出力ディレクトリにmingw32-makeを呼び出そうとしたときに奇妙なエラーメッセージ私に引用符で囲まれたエラーのように見えます。CMakeで生成されたMinGW Makefileに引用エラーがあります

D:\zlib-1.2-11> mingw32-make 
[ 2%] Generating zlib1rc.obj 
'C:\Program' is not recognized as an internal or external command, 
operable program or batch file. 
C:\Program Files\mingw-w64\x86_64-7.1.0-win32-seh-rt_v5-rev0\mingw64\bin\windres.exe: preprocessing failed. 
CMakeFiles\zlib.dir\build.make:60: recipe for target 'zlib1rc.obj' failed 
mingw32-make[2]: *** [zlib1rc.obj] Error 1 
CMakeFiles\Makefile2:103: recipe for target 'CMakeFiles/zlib.dir/all' failed 
mingw32-make[1]: *** [CMakeFiles/zlib.dir/all] Error 2 
Makefile:139: recipe for target 'all' failed 
mingw32-make: *** [all] Error 2 

このエラーの原因は何か、それを修正する方法はありますか?それがzlibだけだった場合は、ビルド済みのバイナリのためにネットを掻き集めることができましたが、これは他のビルドでも起こりました。

答えて

0

cmakeのファイル作成者は、未知のファイルシステムのパスを含む文字列を引用している必要があり、すなわち変数とVERBATIMオプションも頭痛回避:悲しいこと

if(MINGW) 
    # This gets us DLL resource information when compiling on MinGW. 
    if(NOT CMAKE_RC_COMPILER) 
     set(CMAKE_RC_COMPILER windres.exe) 
    endif() 

    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj" 
         COMMAND "${CMAKE_RC_COMPILER}" 
          -D GCC_WINDRES 
          -I "${CMAKE_CURRENT_SOURCE_DIR}" 
          -I "${CMAKE_CURRENT_BINARY_DIR}" 
          -o "${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj" 
          -i "${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc" 
         VERBATIM) 
    set(ZLIB_DLL_SRCS "${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj") 
endif(MINGW)
+0

を、私も私の '(MINGW場合を交換した後、同じエラーを取得しておきます) 'この変更されたバージョン – FallenWarrior

関連する問題