QtでLMMSをコンパイルする
(リストは横に長すぎるので適当に改行挿入)
QtでLMMSのプロジェクトを開く
Qt creatorを起動する。
「ファイル/プロジェクトを開く..」メニューからLMMSのCMakeList.txtを選択する。
CMakeのダイアログが開く。
LMMSのビルド先フォルダの指定をする。(C:\ProgDat\Git\lmms_build)
CMakeのオプションを指定する。ドロップダウンからMinGWを選択。
OK押すと、CMakeが始まる。
「ファイル/プロジェクトを開く..」メニューからLMMSのCMakeList.txtを選択する。
CMakeのダイアログが開く。
LMMSのビルド先フォルダの指定をする。(C:\ProgDat\Git\lmms_build)
CMakeのオプションを指定する。ドロップダウンからMinGWを選択。
OK押すと、CMakeが始まる。
LMMSのプロジェクトを設定する
プロジェクトの環境変数に、Qt内のmingwツールのパスを追加する。(C:\Qt\2010.05\mingw\bin)
ビルドする
Qt creator のコンパイル出力は次の通り。
[ 27%] Generating lmmsrc.obj IC:\ProgDat\Git\lmms -oC:/ProgDat/Git/lmms_build/lmmsrc.obj -iC:/ProgDat/Git/lmms_build/lmms.rc Linking CXX executable lmms.exe "C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_link_script CMakeFiles\lmms.dir\link.txt --verbose=1 process_begin: CreateProcess(NULL, IC:\ProgDat\Git\lmms -oC:/ProgDat/Git/lmms_build/lmmsrc.obj -iC:/ProgDat/Git/lmms_build/lmms.rc, ...) failed. make (e=2): 指定されたファイルが見つかりません。
生成されている MakeFile のリンク時点で、プログラムが指定されていない(2行目, IC:で始まっている行)。
autoconfの元ファイルの時点で何かあるように思われる。調べると次のmakeファイルが怪しい。
autoconfの元ファイルの時点で何かあるように思われる。調べると次のmakeファイルが怪しい。
C:\ProgDat\Git\lmms_build\CMakeFiles\lmms.dir\build.make
の 4473行以降で
lmmsrc.obj: lmms.rc $(CMAKE_COMMAND) -E cmake_progress_report C:\ProgDat\Git\lmms_build\CMakeFiles $(CMAKE_PROGRESS_330) @$(CMAKE_COMMAND) -E echo "Generating lmmsrc.obj" -IC:\ProgDat\Git\lmms -oC:/ProgDat/Git/lmms_build/lmmsrc.obj -iC:/ProgDat/Git/lmms_build/lmms.rc
これを調べると欠けているのはwindres.exeの様なのでこれを手動でコマンドラインで実行。再度Qtをビルドすると続きからはじめるはず。
またエラー。
C:\ProgDat\Git\lmms_build\CMakeFiles\lmms.dir\link.txt
の中身が\と/が混在して、二重に指定されているライブラリがあったりしてので、よぶんを削除しこれを/に統一して、再度手動でsh上で直接実行してみた。
またエラー。
C:\ProgDat\Git\lmms_build\CMakeFiles\lmms.dir\link.txt
の中身が\と/が混在して、二重に指定されているライブラリがあったりしてので、よぶんを削除しこれを/に統一して、再度手動でsh上で直接実行してみた。
/C/Qt/2010.05/mingw/bin/g++.exe -O2 -g -fno-exceptions -Wall -Wno-attributes -mwindows -Wl,--whole-archive /c/ProgDat/Git/lmms_build/CMakeFiles/lmms.dir/objects.a -Wl,--no-whole-archive -o lmms.exe -Wl,--out-implib,liblmms.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -L"/C/Program Files/lmms/lib" -lpthread /C/Qt/2010.05/qt/lib/libQtGui4.a /C/Qt/2010.05/qt/lib/libQtXml4.a /C/Qt/2010.05/qt/lib/libQtCore4.a -lmingw32 /C/MinGW/msys/1.0/local/bin/SDL.dll -lportaudio -lwinmm -lm -lstdc++ -lole32 -luuid -lsndfile -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -loleaut32 -lcomdlg32 -ladvapi32
再度Qtでビルドした結果
c:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: <unknown-file>:0: syntax error Warning: .drectve `-export:T.680 ' unrecognized
となり、それまでのコンパイルにまだ問題がある模様。参照が足りない様子のなで足りないモジュールとかあるか。
つづく。