のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,831人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレCygwin + MinGW + GCC 相談室 Part 6

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    651 : デフォルトの名無 - 2012/05/19(土) 12:47:15.86 (+48,+21,+0)
    >>650
    せやで
    652 : デフォルトの名無 - 2012/05/19(土) 13:10:53.95 (-1,-29,-47)
    やけに必死なのがいるな。msysが何を指しているのか知らんが、
    minttyは最近のcygwinで実装された端末エミュレータだと言うことは知っている。
    653 : デフォルトの名無 - 2012/05/19(土) 15:36:44.90 (+9,-30,-176)
    色々ありがとうございます。
    事の経緯を書かせて頂きます・・


    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 : デフォルトの名無 - 2012/05/19(土) 15:37:42.88 (+3,-30,-174)
    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 - 2012/05/19(土) 15:49:59.31 (+4,-30,-300)
    >>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 : デフォルトの名無 - 2012/05/19(土) 15:59:54.86 (+58,+25,-62)
    cygwinインストールしちゃったみたいだが、
    cygwinの影響を完全に排除したビルド環境を作るとこから始めんとダメなんじゃないか
    上でも書いてる人がいるがMinGWとcygwinを混ぜるのは危険
    657 : デフォルトの名無 - 2012/05/19(土) 20:48:59.88 (+23,-30,-296)
    結構はまるぞ、
    こういうファイルつくってから
    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 - 2012/05/19(土) 21:10:26.61 (-1,-29,-21)
    シェルスクリプトbuild_mingwなんたらの中のディレクトリを書きかえたらできそうだな、あとはまかせたw
    659 : デフォルトの名無 - 2012/05/19(土) 21:41:54.98 (+47,+29,-1)
    言うだけ番長
    660 : デフォルトの名無 - 2012/05/19(土) 22:00:59.60 (+24,+1,-1)
    661 : デフォルトの名無 - 2012/05/19(土) 22:20:10.09 (-2,-30,-31)
    いやそこにもlibsndfileで積む、って書いてある

    http://www.mail-archive.com/lmms-devel@lists.sourceforge.net/msg00940.html
    公式バイナリはlinux上でクロスコンパイルしてるらしい
    662 : 642 - 2012/05/19(土) 22:35:54.33 (+3,-30,-36)
    依存関係がこうなってる

    lmms → libsndfile →( pkg-config → glib )

    mingwのmakefileあるけど、大方fedoraからのクロスコンパイルだろう
    素人にはムリダナ(俺もできてないけど)
    663 : 642 - 2012/05/19(土) 22:45:23.02 (+3,-30,-172)
    libsndfile自体はmingwで容易にインストールできるけど
    それをpkg-configに認識させるのが難しい(というよりpkg-config入れるのがめんどい)

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

    libsndfileビルド&インストール
    $ wgethttp://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
    $ 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 - 2012/05/19(土) 23:17:02.76 (+3,-30,-56)
    cmake/modulesにある
    MinGWCrossCompile.cmake Win32Toolchain.cmake Win64Toolchain.cmake
    のディレクトリ設定を弄るかシェルスクリプトを書いてこの設定どおりにリンクを張ってからbuild_mingwなんたらを実行だな
    665 : 642 - 2012/05/20(日) 03:57:44.51 (+53,-29,-50)
    深夜になってしまったができた
    しかしこれ何に使うアプリなのかさっぱりわからん、少なくともwindowsでビルドするのは難しいな
    しかもバイナリ配布されてるからビルドする意味まったくないしな、'`,、('∀`) '`,、
    http://lmms.sourceforge.net/download.php

    (開発者にとっちゃバイナリ一つビルドしときゃいいんで人にビルドさせる必要ないんだけど)
    667 : デフォルトの名無 - 2012/05/23(水) 16:29:49.99 (+84,+26,-15)
    なんで商業ソフトのソースが配布されているんだろう。
    668 : デフォルトの名無 - 2012/05/23(水) 17:10:31.06 (+63,+23,-2)
    >>667
    商業ソフトってどれのこと言ってるの?
    669 : デフォルトの名無 - 2012/05/24(木) 15:54:12.88 (+3,-30,-57)
    クロスコンパイルでzlibは何とか入れられたんだけど、
    libpngのconfigureで zlib not installed で止まるなあ
    zlibのバイナリをmingw32で作って実行しようとして失敗してるっぽい
    こういうのどうやって対処してますか?
    670 : デフォルトの名無 - 2012/05/24(木) 16:13:29.03 (+36,+18,+0)
    わからない
    671 : デフォルトの名無 - 2012/05/24(木) 19:06:11.99 (+18,-9,+0)
    クロスコンパイルはわからんちん
    mingwでやるなら楽勝だけど
    672 : デフォルトの名無 - 2012/05/24(木) 20:54:49.22 (+50,+27,+0)
    そもそも質問が日本語でおk状態だ
    673 : デフォルトの名無 - 2012/05/25(金) 00:06:07.22 (-2,-30,-33)
    ためしにzlibとlibpngクロスコンパイルしてみたが普通に出来るな
    ちなみにArch LinuxとCygwin上で、自ビルドしたgcc4.6.3(mingw-w64)使用
    674 : デフォルトの名無 - 2012/05/25(金) 00:35:54.06 (+7,-29,-67)
    configure書き換えてなんとか通したけど、普通とは?
    うちはFreeBSDだけど、他OS上でバイナリを作るって理解してるよね?

    ちなみに現在ffmpegと格闘中
    何故か libx264.a が undefined reference となる・・・
    675 : デフォルトの名無 - 2012/05/25(金) 00:59:55.30 (+3,-30,-44)
    普通とは
    ./configure --prefix=/opt/mingw/i686-w64-mingw32 --host=i686-w64-mingw32
    make && make install-strip
    みたいな感じでいけるってことだよ
    676 : デフォルトの名無 - 2012/05/25(金) 01:04:36.82 (-1,-29,-12)
    >>674
    ffmpegぐらいwin上でコンパイルしろよゴラァ
    677 : デフォルトの名無 - 2012/05/25(金) 01:49:47.93 (-1,-29,-19)
    つうかcygwinでいいじゃん。なんでfreebsdなんか使って苦労してるん?
    678 : デフォルトの名無 - 2012/05/25(金) 14:10:58.28 (+4,-29,-45)
    llvm+clang のwindows用バイナリ(experimental)が出た
    これで俺みたいな情弱でも(ry
    679 : デフォルトの名無 - 2012/05/25(金) 15:41:35.57 (+7,-30,-54)
    windows機はインターネットに繋げてないから開発環境が構築できなのよw
    それはそうと、

    [a.c]
    extern int x264_encoder_encode();
    int main(void){ x264_encoder_encode(); }

    こんなファイル作って、↓すると、undefined reference にならない?

    % mingw32-gcc a.c -lx264
    680 : デフォルトの名無 - 2012/05/25(金) 19:13:42.32 (-1,-30,-22)
    >>679
    単にリンクできてないだけじゃね?

    ・ライブラリがある場所へのパスを示すべし
    例) -L/usr/local/lib

    あと、どこで a.cをコンパイルしようとしているのか気になる
    681 : デフォルトの名無 - 2012/05/25(金) 19:40:06.77 (+3,-30,-90)
    ライブラリが見つからないときはcannot find -lx264になると思うんだよね
    undefined reference to _x264_encoder_encodeになるなら、
    ライブラリを作るのに失敗してるとか別のライブラリをリンクしちゃってるとかか

    まずは、自分のつくったライブラリが何処にインストールされたか調べて、
    それをmingw32-gcc a.cの後ろにフルパスで指定してみるとどうなるかとかかな
    682 : デフォルトの名無 - 2012/05/25(金) 19:45:04.55 (-1,-29,-13)
    原因は、commom/x86/の中身がライブラリに入ってなかったせいのようです
    どんなオプションを付ければ入れてくれるのか分かりますか?
    683 : デフォルトの名無 - 2012/05/25(金) 19:54:12.57 (+57,+29,-5)
    まずは自分のコンフィグと実行結果を晒そうか
    684 : デフォルトの名無 - 2012/05/25(金) 20:08:21.59 (-1,-29,-13)
    ARCHをi386に書き換えたら入れてくれました
    ffmpegもmake成功です
    かなり苦労するものの一応mingw32でも作れるということで
    685 : デフォルトの名無 - 2012/05/25(金) 20:17:09.75 (+47,+19,-12)
    configureのやり方が悪いだけだろ
    686 : デフォルトの名無 - 2012/05/26(土) 09:17:18.37 (+3,-30,-54)
    >>678で64bitのバイナリ吐ける?
    ./configure --extra-cflags="-ccc-host-triple x86_64-pc-win32 -I/mingw/x86_64-w64-mingw32/include"
    とかやってもだめだった
    687 : デフォルトの名無 - 2012/05/26(土) 12:45:26.85 (+3,-30,-183)
    どうやら-target x86_64-mingw32っぽい?

    x264で
    export CC=clang
    ./configure --extra-cflags="-target x86_64-mingw32 -I/mingw/x86_64-w64-mingw32/include" --host=$P64B --cross-prefix=$P64B-
    ってやったらNo working C compiler foundで、
    clang: error: assembler (via gcc) command failed with exit code 1 (use -v to see invocation)
    ってconfig.logに残ってた
    誰かWindowsのclangで64bitのx264をビルドできたら教えてください
    688 : デフォルトの名無 - 2012/05/26(土) 12:48:16.84 (-1,-29,-7)
    あ、P64Bはx86_64-w64-mingw32です
    689 : デフォルトの名無 - 2012/05/26(土) 12:56:54.25 (-1,-29,-6)
    tripleも知らずにクロスコンパイルとか、自殺志願者か?
    690 : デフォルトの名無 - 2012/05/26(土) 16:10:59.65 (-6,-29,-3)
    tripleって何?
    691 : デフォルトの名無 - 2012/05/26(土) 16:27:45.04 (-1,-29,-3)
    cpu-company-system
    692 : デフォルトの名無 - 2012/05/26(土) 17:01:07.23 (+91,+29,-53)
    何が言いたいのだろう・・・
    エンジニアとは思えないいやらしい人なのかな?
    特に古めのconfigureほど自分で書き換えないと通しようがないだろ
    693 : デフォルトの名無 - 2012/05/26(土) 17:42:45.73 (+70,+29,-15)
    >>692
    他人に何も説明できない人なんか気にせんでいいでしょ
    694 : デフォルトの名無 - 2012/05/26(土) 19:49:36.75 (+85,+29,-4)
    なんだ、本当に自殺志願者なのか。
    695 : 631 - 2012/05/26(土) 20:07:02.69 (+69,+29,-24)
    うおお風邪引いて死んでる間にすごいレスがついている・・
    ありがとうございます。お礼遅れましてすみません。

    ビルドできた方いらっしゃるんですね。
    msys上でやる方向で、
    とりあえずwindows上でpkg-configをビルドするとこからやってみます!
    696 : デフォルトの名無 - 2012/05/26(土) 20:20:41.01 (+67,+29,-21)
    >>694
    お前がいくら努力してもエンジニアになれないのは、
    お前が本質的に馬鹿だからなんじゃねw
    697 : デフォルトの名無 - 2012/05/26(土) 21:04:54.05 (+12,-29,-21)
    >>695
    >とりあえずwindows上でpkg-configをビルドするとこからやってみます!
    それは難易度最高だからやめとけ
    素直にhttp://www.gtk.org/download/win32.php からGLibとpkg-configのバイナリ落として
    /bin につっこんだほうがいい
    698 : デフォルトの名無 - 2012/05/26(土) 21:40:55.49 (-1,-29,-15)
    pkg-configをビルドするのにglibが必要
    glibをビルドするのにpkg-configが必要
    どうにかしてよ、循環参照
    699 : 631 - 2012/05/27(日) 00:12:49.03 (+8,-30,-290)
    うーむコケました。
    http://www.gtk.org/download/win32.php
    から

    GLib 2.28.8 Run-time
    gettext-runtime 0.18.1.1 Run-time
    pkg-config 0.26 Tool
    の3つをダウンロードして まるごと / 以下に配置して、

    libsndfileビルド&インストール
    $ wgethttp://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
    $ tar xvf libsndfile-1.0.25.tar.gz
    $ cd libsndfile-1.0.25
    $ ./configure --prefix=/mingw
    $ make && make install

    まではうまくいったのですが、
    cmake ../ -G "MSYS Makefiles"

    LMMS requires libsndfile1 and libsndfile1-dev >= 1.0.11 - please install,
    と出てしまいました。
    (-G "MinGW Makefiles"も試してみたが同じエラー出力)
    cygwinの時はapt-cygでこのパッケージを入れて進むことができたのですが
    MSYSの時はここのエラーはどうやって解決すればよいでしょうか・・

    libsndfile-1.0.25 イコール libsndfile1 ではないのですね。。
    700 : デフォルトの名無 - 2012/05/27(日) 00:18:42.81 (+57,+29,-36)
    cygwinインストールしようとしてるんですけど、かれこれ5時間はダウンロード終わらないです…
    これどこかおかしいんですかね?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について