目次: マンガ紹介
Facebookで教えてもらったマンガ「ハコヅメ」を買ってみました。面白いです。次が楽しみです。
メモ: 趣味の話はFacebookから転記しておくことにした。
この記事にコメントする
弱者を抹殺する。 不謹慎な質問ですが、疑問に… - Yahoo! 知恵袋を読んで。
Twitterで知りました。7年以上前の話題ですが、ベストアンサーに選ばれた回答が素晴らしかったです。
ベストアンサーの中に出てくる「人間の生存戦略は、、、、「社会性」」の一文が非常に興味深かったので、社会性についてちょっと調べてみました。まず、大前提として、生物は生きようとしますし、子孫を増やそうとします。死にたがりや増えない生物は存続不能なので自明だと思います。
生物の行動は利己的、利他的があります(他に相利的行動、いじわる行動もありますが省略)。
利他的行動は一見すると合理的には見えません。しかし、世の中には社会性を持ち、利他的行動を取る生物がいます。人間もそうです。
これらの生物が、あえて利他的行動を取るのはなぜか?言われてみると確かに不思議です。
利他的行動についてはいくつか説があり、
個人的には、人間の社会性に関して言えば、群選択より、互恵的利他の説明が一番しっくりきます。互恵的利他の考えに基づくと、Yahoo! 知恵袋の問いに対しては「将来的に自身の利益になると期待しているから」が答えですかね?
まあ、社会性の仕組みは追々明らかになっていくことでしょう。楽しみですね。
どうでも良いですが、この手の仮説は、立証が大変そうだと思いました。私には利他的行動で得る利益が何かすら定義できないし、どの個体がいくら利益を得ているか示す手段も思いつきません……。
メモ: 技術系の話はFacebookから転記しておくことにした。加筆修正した。
この記事にコメントする
以前Cocos2d-xをビルドして(2017年6月30日の日記参照)、Linuxで動くサンプルプログラムをビルドしました。あの時は結局、ゲームは作らずじまいでした。懲りずに、今回はAndroid向けにビルドします。
その前にまずLinux向けにビルドします。簡単かと思ったら、めちゃくちゃハマりました……。
公式ドキュメント(リンク)に載っている通りの手順を試すと、下記のようなエラーが出ます。
$ git clone https://github.com/cocos2d/cocos2d-x $ cd cocos2d-x/ $ git submodule update --init Submodule path 'tests/cpp-tests/Resources/ccs-res': checked out '5d65db4c5f18c0df1305ff32b076425ab228cc4a' Submodule path 'tools/bindings-generator': checked out '2aa9b21f11bf514ca80f243b21750e8c7c28f05e' Submodule path 'tools/cocos2d-console': checked out '643f423415c62a1b610549323c4bf5499683baab' Submodule path 'web': checked out 'e79acd062363818af809c51804083a5989a9aedc' $ ./download-deps.py ======================================================= ==> Prepare to download external libraries! ==> version file doesn't exist ==> Ready to download 'v3-deps-156.zip' from 'https://github.com/cocos2d/cocos2d-x-3rd-party-libs-bin/archive/v3-deps-156.zip' (...snip...) ==> Would you like to save 'v3-deps-156.zip'? So you don't have to download it later. [Yes/no]: Yes $ cd build/ $ mkdir linux-build $ cd linux-build/ $ cmake ../../ -- The C compiler identification is GNU 8.2.0 -- The CXX compiler identification is GNU 8.2.0 -- Check for working C compiler: /usr/lib/ccache/cc -- Check for working C compiler: /usr/lib/ccache/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features (...snip...) -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /home/katsuhiro/share/projects/oss/cocos2d-x/build/linux-build $ make [ 0%] Building CXX object engine/external/unzip/CMakeFiles/ext_unzip.dir/ioapi.cpp.o [ 0%] Building CXX object engine/external/unzip/CMakeFiles/ext_unzip.dir/unzip.cpp.o [ 0%] Building CXX object engine/external/unzip/CMakeFiles/ext_unzip.dir/ioapi_mem.cpp.o [ 1%] Linking CXX static library ../../../lib/libext_unzip.a (...snip...) [ 84%] Built target jscocos2d [ 84%] Building CXX object engine/tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/Classes/AppDelegate.cpp.o [ 84%] Building CXX object engine/tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/Classes/HelloWorldScene.cpp.o [ 84%] Building CXX object engine/tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/proj.linux/main.cpp.o [ 84%] Linking CXX executable ../../../bin/Debug/cpp-empty-test/cpp-empty-test /usr/bin/ld: ../../../../../external/freetype2/prebuilt/linux/64-bit/libfreetype.a(ftbase.linux64.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC (...snip...) /usr/bin/ld: ../../../../../external/freetype2/prebuilt/linux/64-bit/libfreetype.a(ftbitmap.linux64.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC /usr/bin/ld: final link failed: nonrepresentable section on output collect2: error: ld returned 1 exit status make[2]: *** [engine/tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/build.make:153: bin/Debug/cpp-empty-test/cpp-empty-test] Error 1 make[1]: *** [CMakeFiles/Makefile2:1362: engine/tests/cpp-empty-test/CMakeFiles/cpp-empty-test.dir/all] Error 2 make: *** [Makefile:84: all] Error 2
エラーで指摘されているfreetype2/prebuilt/linux/64-bit/libfreetype.aは、download-deps.pyがダウンロードしてきたv3-deps-156.zipに含まれているスタティックライブラリです。recompile with -fPICと言われても、自分でビルドしたものではないので、何もできません。そんなこと言われても困る。
困った挙句にCocos2d-xのissue list(リンク)に辿りつきました。議論を見るとcocos2d-x-3rd-party-libs-srcリポジトリのbuild.shでライブラリが作れるみたいです。うえ〜、そんなの知らんがな。
$ git clone https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src $ cd cocos2d-x-3rd-party-libs-src/build/ $ ./build.sh -p=linux --libs=freetype --arch=x86_64 --mode=release $ cp linux/freetype/prebuilt/x86_64/libfreetype.a ../../cocos2d-x/external/freetype2/prebuilt/linux/64-bit/libfreetype.a
依存ライブラリを自前でビルドして置き換えることで、無事にCocos2d-xのコンパイルが通りました。
心配だったゲームプロジェクトの作り方は以前と同じ(2017年7月2日の日記参照)でした。こちらはハマらなくて本当に良かったです。
生成されたゲームプロジェクトの中にproj.androidという名前のディレクトリが作成されます。Android Studioでproj.androidを開けば後は勝手にGradleがビルドしてくれるはずです。
$ ls CMakeLists.txt Resources proj.android proj.linux Classes cocos2d proj.ios_mac proj.win32
Linux向けにビルドしたいときは、以前と同じ手順でOKです。同じコードでAndroidもLinuxも対応できて便利ですよね。
この記事にコメントする
| < | 2019 | > | ||||
| << | < | 01 | > | >> | ||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| - | - | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | - | - |
wiki
Linux JM
Java API
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年
2022年
2023年
2024年
2025年
過去日記について
アクセス統計
サーバ一覧
サイトの情報合計:
本日: