Windows 7、MSYS2、Mingw-w64-x86_64 gcc ツールチェーン、CMakeをセットアップしており、 nanomsg ライブラリをビルドしようとしています。
ここに私が得るものがあります:
$ cmake --debug-trycompile -DCMAKE_TOOLCHAIN_FILE=../toolchain_i686-pc-mingw32.cmake -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32 -G "MinGW Makefiles" ../nanomsg
debug trycompile on
-- C コンパイラの ID は GNU 4.8.2 です -- C コンパイラの動作を確認します: C:/mingw64/bin/x86_64-w64-mingw32-gcc.exe -- C コンパイラの動作を確認します: C:/mingw64/bin/ x86_64-w64-mingw32-gcc.exe -- C:/cmake-win32-x86/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 で壊れた CMake エラー (メッセージ): C コンパイラ "C:/mingw64/ bin/x86_64-w64-mingw32-gcc.exe」では、簡単なテスト プログラムをコンパイルできません。
次の出力で失敗します。
ディレクトリを変更: C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp
ビルド コマンドを実行します:C:/mingw64/bin/mingw32-make.exe
"cmTryCompileExec910276652/fast"C:/mingw64/bin/mingw32-make.exe -f
CMakeFiles\cmTryCompileExec910276652.dir\build.make
CMakeFiles/cmTryCompileExec910276652.dir/buildmingw32-make.exe 1 : ディレクトリ
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp' に入るC:\cmake-win32-x86\bin\cmake.exe -E cmake_progress_report
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\CMakeFiles 1C オブジェクト
のビルド CMakeFiles/cmTryCompileExec910276652.dir/testCCompiler.c.objC:\mingw64\bin\x86_64-w64-mingw32-gcc.exe -o
CMakeFiles\cmTryCompileExec910276652.dir\testCCompiler.c.obj -c
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\ testCCompiler.cC 実行可能ファイル cmTryCompileExec910276652.exe のリンク
C:\cmake-win32-x86\bin\cmake.exe -E cmake_link_script
CMakeFiles\cmTryCompileExec910276652.dir\link.txt --verbose=1C:\cmake-win32-x86\bin\cmake.exe -E remove -f
CMakeFiles\cmTryCompileExec910276652.dir/objects.ax86_64-w64-mingw32-gcc-ar cr
CMakeFiles\cmTryCompileExec910276652.dir/objects.a
@CMakeFiles\cmTryCompileExec910276652.dir\objects1.rsp申し訳ありません - このプログラムはプラグインのサポートなしでビルドされています
CMakeFiles\cmTryCompileExec910276652.dir\build.make:91: ターゲット 'cmTryCompileExec910276652.exe' のレシピが失敗しました
mingw32-make.exe 1 : * [cmTryCompileExec910276652.exe] エラー 1
mingw32-make.exe 1 : ディレクトリ
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp' を離れますMakefile:116: ターゲット 'cmTryCompileExec910276652/fast' のレシピが失敗しました
mingw32-make.exe: * [cmTryCompileExec910276652/fast] エラー 2
CMake は、このプロジェクトを正しく生成できません。コール スタック (最新の呼び出しが最初): CMakeLists.txt:29 (プロジェクト)
ここに私のツールチェーンファイルがあります:
$ cat ../toolchain_i686-pc-mingw32.cmake
# http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file
# http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=8959
# http://stackoverflow.com/questions/19754316/cross-compiling-opencv-with-mingw-using-cmakein-linux-for-windows
# this one is important
SET(CMAKE_SYSTEM_NAME Windows)
#this one not so much
#SET(CMAKE_SYSTEM_VERSION 1)
# specify the cross compiler
SET(PREFIX x86_64-w64-mingw32)
SET(CMAKE_MAKE_PROGRAM mingw32-make)
SET(CMAKE_C_COMPILER ${PREFIX}-gcc)
SET(CMAKE_CXX_COMPILER ${PREFIX}-g++)
SET(CMAKE_AR ${PREFIX}-gcc-ar)
SET(CMAKE_NM ${PREFIX}-gcc-nm)
SET(CMAKE_RC_COMPILER windres)
# specify the cross linker
SET(CMAKE_RANLIB ${PREFIX}-gcc-ranlib)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH /opt/mingw64 /usr/${PREFIX})
# search for programs in the build host directories
#SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
#SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
#SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
ツールチェーンにプラグイン サポートがないため、自動テストでのビルドに失敗したようです。
これが私のgccバージョンとオプションです:
$ /opt/mingw64/bin/x86_64-w64-mingw32-gcc.exe -v
Using built-in specs.
COLLECT_GCC=C:\mingw64\bin\x86_64-w64-mingw32-gcc.exe
COLLECT_LTO_WRAPPER=C:/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/4.8.2/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-4.8.2/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw482/x86_64-482-posix-seh-rt_v3-rev3/mingw64 --with-gxx-include-dir=/mingw64/x86_64-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw482/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw482/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw482/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw482/prerequisites/x86_64-w64-mingw32-static --with-cloog=/c/mingw482/prerequisites/x86_64-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='x86_64-posix-seh-rev3, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw482/x86_64-482-posix-seh-rt_v3-rev3/mingw64/opt/include -I/c/mingw482/prerequisites/x86_64-zlib-static/include -I/c/mingw482/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw482/x86_64-482-posix-seh-rt_v3-rev3/mingw64/opt/include -I/c/mingw482/prerequisites/x86_64-zlib-static/include -I/c/mingw482/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw482/x86_64-482-posix-seh-rt_v3-rev3/mingw64/opt/lib -L/c/mingw482/prerequisites/x86_64-zlib-static/lib -L/c/mingw482/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 4.8.2 (x86_64-posix-seh-rev3, Built by MinGW-W64 project)
- 「--enable-plugin」オプションに関連していますか(私のgccにはありません)?
- このオプション セットで利用可能なツールチェーン ビルドはありますか? MSYS2、Mingw-w64、ruvenvb リポジトリで探しましたが、ありません。それとも自分で作ろうか?
- おそらく nanomsg はそれを必要としませんか? nanomsg が必要とするため、autotest はそれを必要としますか? または、この自動テストが実行されないようにすることはできますか? または、「--enable-plugins」オプションの必要性を回避するために何かを設定できますか?