3

Niotso をコンパイルしようとしていますが、ソースからビルドするときに問題が発生しています。

明らかな何かを見逃している可能性があると思うので、誰かが私が間違ったことをしたかもしれないことを知っているなら、私に知らせてください

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw3
2/bin/ld.exe: skipping incompatible c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32
/4.8.1/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw3
2/bin/ld.exe: skipping incompatible c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32
/4.8.1/../../../../x86_64-w64-mingw32/lib\libmsvcrt.a when searching for -lmsvcrt
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw3
2/bin/ld.exe: skipping incompatible c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32
/4.8.1/../../../../x86_64-w64-mingw32/lib/libmsvcrt.a when searching for -lmsvcrt
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw3
2/bin/ld.exe: cannot find -lmsvcrt
collect2.exe: error: ld returned 1 exit status
_deps\freetype\CMakeFiles\freetype_shared.dir\build.make:323: recipe for target
'../_dist/windows/freetype.dll' failed
mingw32-make[2]: *** [../_dist/windows/freetype.dll] Error 1
CMakeFiles\Makefile2:77: recipe for target '_deps/freetype/CMakeFiles/freetype_s
hared.dir/all' failed
mingw32-make[1]: [_deps/freetype/CMakeFiles/freetype_shared.dir/all] Error 2
Makefile:74: recipe for target 'all' failed
mingw32-make: [all] Error 2
4

1 に答える 1

4

MinGW ツールチェーンのディストリビューションは単一ターゲットであり、64 ビットをターゲットにしています。おそらく、Niotso のビルド システムのどこかに、-m3232 ビット コンパイル モードを強制するスイッチが含まれています。しかし、ツールチェーンには の 32 ビット バージョンが含まれていないため、libmsvcrt.a実際には の 64 ビット バージョンが見つかったと不平を言いますが、32 ビット バージョンlibmsvcrt.aが必要なため、前者をスキップします。

次の 3 つのオプションがあります。

  1. Niotso のビルド システム (それが何であれ) を調べて -m32フラグを探し、それを削除してみてください。そうすれば、Niotso の 64 ビット バイナリが生成されます。
  2. MinGW ディストリビューションを単一ターゲット (32 ビットをターゲット) に変更すると、Niotso の 32 ビット バイナリが生成されます。
  3. MinGW ディストリビューションをデュアル ターゲット (32 ビットと 64 ビットの両方をターゲット) に変更すると、再び Niotso の 32 ビット バイナリが生成されます。

    注:デュアル ターゲットであることがわかっている唯一のツールチェーンは、TDM-GCC と SJLJ ベースの MinGW-w64 です。

于 2013-10-13T14:40:45.263 に答える