Cygwin + MinGW + GCC 相談室 Part 6at TECH
Cygwin + MinGW + GCC 相談室 Part 6 - 暇つぶし2ch644:デフォルトの名無しさん
12/05/19 05:07:43.15
qt は cmake じゃなくて qmake だゾ!

回答者にも突っ込みたいことが幾つかある
・MinGWを使うシェルに mintty か rxvt を薦めてる → MinGWならmsysにするのが普通なんでは?

ちなみに窓でgit入れるとき使う msysgit は名前のとおりシェルは
msys使ってるからこれで代用してもいい。まずはシェルとビルドツールの
切り分けあたりから突いて行くとよろし

golangとかで遊ぶと認識深まるとは思う
ただしMinGW同士でも混ぜるな危険なので注意(QT付属のMinGWとGolang付属のMinGWなどなど

645:デフォルトの名無しさん
12/05/19 05:38:25.04
PATHさえ通してあれば別にcmdでも問題ねえよ
>qt は cmake じゃなくて qmake だゾ!
lmmsはフレームワークにQt使ってんだよハゲ
qmake関係ない

646:デフォルトの名無しさん
12/05/19 11:22:47.38
ターミナルエミュレータはcmdよりminttyが圧倒的にいいと言いたかっただけなんだが
あと、msysはターミナルの名前じゃねえパッケージ名だ

647:デフォルトの名無しさん
12/05/19 11:41:42.04
mintty って msys のことでしょう?

648:デフォルトの名無しさん
12/05/19 11:44:59.51
チガウヨゼンゼンチガウヨ

649:デフォルトの名無しさん
12/05/19 12:15:38.45
>>647
うん

650:デフォルトの名無しさん
12/05/19 12:26:29.07
msys って mintty のことでしょう?

651:デフォルトの名無しさん
12/05/19 12:47:15.86
>>650
せやで

652:デフォルトの名無しさん
12/05/19 13:10:53.95
やけに必死なのがいるな。msysが何を指しているのか知らんが、
minttyは最近のcygwinで実装された端末エミュレータだと言うことは知っている。

653:デフォルトの名無しさん
12/05/19 15:36:44.90
色々ありがとうございます。
事の経緯を書かせて頂きます・・


lmmsをgit cloneしてくる。cmakeが必要とのことだったのでダウンロード。
ダウンロードしたのはwindows xp のインストーラ版

cmake ../ しようとしてみると色々怒られる。pkg-configやらsdlやらlibsndfileやらが必要とのこと。
pkg-configはwindowsでビルドするのがめんどくさそうだったので
全部cygwin上でやることにしてみる

cygwinインストール。apt-cygで必要なパッケージ色々インストール

sdlのビルドにはMinGWが必要なのが判明。
(理由は忘れたが、cygwinにもmingw-gccを入れないと何かがうまくいかなかった)
MinGWでSDLビルド。

パスは C:\cygwin\bin;C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin;C:\QtSDK\mingw\bin;C:\Program
Files\CMake 2.8\bin;
な感じで
cmake-G "MinGW Makefiles"
がようやく成功。buildディレクトリにMakefileが出来た
mingwのパスが2つあるのはqmakeが必要だったりQtCoreが必要だったりしたため(確か)


654:デフォルトの名無しさん
12/05/19 15:37:42.88
build/ でmakeを実行すると上で書いたようになぜかもう一層新しいプロンプトが表示される状態に・・
他のディレクトリでmakeすると普通に動くので、buildディレクトリにあるMakefileの何かがおかしい
としか思えない。がMakefileよくわからない・・
makeはapt-cygでいれたもので、which make すると普通に /usr/bin/make の出力

試しにcygwinやdosからmingw32-makeを使ったら途中まではビルドできたが、
includeディレクトリの件(sndfile.h: No such file or directory)
で立ち止まる←いまここ


もしかしてcmakeはcygwin上でapt-cygで入れたものを使った方がよかった・・?
とか色々思うところがあるのですがぐちゃぐちゃやりすぎてわけわかめになっています。
どなたかwindows上でlmmsのビルド成功したという方がいればアドバイスいただけると嬉しいです。。


655:642
12/05/19 15:49:59.31
>>653-654
面白そうなのでちょっといじってみた

当方の環境はMinGWのみ
環境変数にcmake入れる

・PATHの中身閲覧
$ echo $PATH
.:/usr/local/bin:/mingw/bin:/bin: …(省略)…:/c/Program Files (x86)/CMake 2.8/bin

・INSTALLの記述(以下の手順をこなす必要がある)
Building LMMS got quite simple since 0.4.0 as everything is managed
by cmake now. Therefore make sure you have CMake (>= 2.6.0 recommended) and
then run

mkdir build  buildフォルダ作成
cd build    移動
cmake ../   一段上を指定してcmake起動
make      gnuのmakeを起動
sudo make install  うまく行ったらインストール(linuxじゃないからsudoいらん)

うちの環境ではQt4入ってないからできなかった。
コンパイルの仕方って大抵READMEかINSTALLって名前のファイルに書いてあるんだな、これが

656:デフォルトの名無しさん
12/05/19 15:59:54.86
cygwinインストールしちゃったみたいだが、
cygwinの影響を完全に排除したビルド環境を作るとこから始めんとダメなんじゃないか
上でも書いてる人がいるがMinGWとcygwinを混ぜるのは危険

657:デフォルトの名無しさん
12/05/19 20:48:59.88
結構はまるぞ、
こういうファイルつくってから
set(CMAKE_SYSTEM_NAME Windows)

# specify the cross compiler
set(CMAKE_C_COMPILER /usr/bin/i686-pc-mingw32-gcc.exe)
set(CMAKE_CXX_COMPILER /usr/bin/i686-pc-mingw32-g++.exe)
set(CMAKE_RC_COMPILER /usr/bin/i686-pc-mingw32-windres.exe)


# set PKG_CONFIG_PATH for MinGW Cross Compile Environment

set(CMAKE_EXE_LINKER_FLAGS -L/usr/bin/i686-pc-mingw32/sys-root/mingw/include)

set(ENV{PKG_CONFIG_PATH} /usr/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig)
# where is the target environment
set(CMAKE_FIND_ROOT_PATH /usr/i686-pc-mingw32/sys-root/mingw)

cmake -DCMAKE_SYSTEM_NAME="Windows" -DCMAKE_TOOLCHAIN_FILE=上のファイル.cmake -DBUILD_SHARED_LIBS=OFF

だったかな?

いまビルドしてやんよ

658:657
12/05/19 21:10:26.61
シェルスクリプトbuild_mingwなんたらの中のディレクトリを書きかえたらできそうだな、あとはまかせたw


659:デフォルトの名無しさん
12/05/19 21:41:54.98
言うだけ番長

660:デフォルトの名無しさん
12/05/19 22:00:59.60
公式読め
URLリンク(lmms.sourceforge.net)

で終了

661:デフォルトの名無しさん
12/05/19 22:20:10.09
いやそこにもlibsndfileで積む、って書いてある

URLリンク(www.mail-archive.com)
公式バイナリはlinux上でクロスコンパイルしてるらしい

662:642
12/05/19 22:35:54.33
依存関係がこうなってる

lmms → libsndfile →( pkg-config → glib )

mingwのmakefileあるけど、大方fedoraからのクロスコンパイルだろう
素人にはムリダナ(俺もできてないけど)

663:642
12/05/19 22:45:23.02
libsndfile自体はmingwで容易にインストールできるけど
それをpkg-configに認識させるのが難しい(というよりpkg-config入れるのがめんどい)

mingwでpkg-configビルドする場合の参考(ビルドせずにバイナリだけ使えばいいか?)
URLリンク(d.hatena.ne.jp)

libsndfileビルド&インストール
$ wget URLリンク(www.mega-nerd.com)
$ tar xvf libsndfile-1.0.25.tar.gz
$ cd libsndfile-1.0.25
$ ./configure --prefix=/mingw
$ make && make install

lmmsビルド&インストール
$ cd lmms-0.4.13/
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" ../
$ make && make install

こんな感じ?

664:657
12/05/19 23:17:02.76
cmake/modulesにある
MinGWCrossCompile.cmake Win32Toolchain.cmake Win64Toolchain.cmake
のディレクトリ設定を弄るかシェルスクリプトを書いてこの設定どおりにリンクを張ってからbuild_mingwなんたらを実行だな



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch