開発/ビルド方法
の編集
Top
/
開発
/ ビルド方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
%doctored_article_title%
Addon/MenuBar
Addon128
Addon128/Aircrafts
Addon128/Aircrafts 2
Addon128/Buildings01
Addon128/Buildings02
Addon128/Buildings03
Addon128/Buildings04
Addon128/Buildings05
Addon128/Citycars 1
Addon128/HalfSlope/MonorailTools 1
Addon128/HalfSlope/Others
Addon128/HalfSlope/RailTools 1
Addon128/HalfSlope/RailTools 2
Addon128/HalfSlope/RoadTools 1
Addon128/Monorail1
Addon128/MonorailTools 1
Addon128/Others
Addon128/RailTools 1
Addon128/RailTools 2
Addon128/RailTools 3
Addon128/RoadTools 1
Addon128/Ships
Addon128/Train 1
Addon128/Train 2
Addon128/Train 3
Addon128/Train 4
Addon128/Train 5
Addon128/Train 6
Addon128/Train 7
Addon128/Train 8
Addon128/Train 9
Addon128/Train10
Addon128/Train11
Addon128/Train12
Addon128/Train13
Addon128/Train14
Addon128/Train15
Addon128/Train16
Addon128/Train17
Addon128/Train18
Addon128/Train19
Addon128/Train20
Addon128/Train21
Addon128/Train22
Addon128/Train23
Addon128/Train24
Addon128/Train25
Addon128/Train26
Addon128/Train27
Addon128/Train28
Addon128/Train29
Addon128/Trucks
Addon128/Trucks2
Addon128Japan
Addon128Japan/MenuBar
Addon128Japan/Others
Addon128Japan/Ships
Addon128Japan/Ships/Cargo/NonInternational
Addon128Japan/Ships/Cargo/OceanGoing
Addon128Japan/Ships/Others
Addon128Japan/Ships/Passenger/Coasting
Addon128Japan/Ships/Passenger/HighspeedCrafts
Addon128Japan/Ships/Passenger/OceanGoing
Addon128Japan/Ships/Passenger/SmoothWater
Addon128Japan/Train 1
Addon128Japan/Train 2
Addon128Japan/Train 3
Addon128Japan/Train 4
Addon128Japan/Train Index
Addon128Japan/TrainIndexNew
Addon128Japan/TransportTools
Addon128Japan/header
Addon128Japan/アドオン投稿報告
Addon128Japan/貨車
Addon128Japan/機関車
Addon128Japan/気動車
Addon128Japan/客車
Addon128Japan/旧型国電
Addon128Japan/近郊形電車
Addon128Japan/新幹線
Addon128Japan/大手私鉄
Addon128Japan/第三セクター他
Addon128Japan/地下鉄
Addon128Japan/地方私鉄
Addon128Japan/通勤形電車
Addon128Japan/特急形電車
Addons
Addons/128
Addons/128/Trains_01
Addons/128/Trains_02
Addons/128/Trains_03
Addons/128/Trains_04
Addons/128/Trains_05
Addons/128/Trains_10
Addons/128/Trains_20
Addons/128/Trains_21
Addons/128/Trains_22
Addons/128/Trains_23
Addons/128/Trains_24
Addons/128/Trains_30
Addons/128/Trains_31
Addons/64
Addons/64/Trains_01
Addons/64/Trains_02
Addons/64/Trains_03
Addons/64/Trains_04
Addons/64/Trains_05
Addons/64/Trains_10
Addons/64/Trains_20
Addons/64/Trains_21
Addons/64/Trains_22
Addons/64/Trains_23
Addons/64/Trains_24
Addons/64/Trains_30
Addons/64/Trains_31
Addons/List
Addons/List2
BracketName
Classic
Classic/FAQ
Classic/Install
Classic/JapaneseTranslation
FAQ
FormatRule
FormattingRules
FrontPage
Help
Infomation
Install
InterWiki
InterWikiName
InterWikiテクニカル
MenuBar
Pakセット
Simutransとは
Simutransの歴史
Site_Map
Tools
Tools/Tools01
WikiEngines
WikiName
WikiWikiWeb
frontpage
pak・アドオンインストール
pak・アドオンインストール/iOS版にアドオンを追加する場合
simutrans extended
simutrans extended/Pakセット
simutrans extended/アドオン
simutrans extended/アドオン開発
simutrans extended/アドオン開発/datファイル記述リファレンス/factory(産業)
simutrans extended/アドオン開発/datファイル記述リファレンス/vehicle(乗り物)
simutrans extended/アドオン開発/datファイル記述リファレンス/way(道)
★Addon 新ー事業社別アドオン逆引き集
このサイトについて
よくある質問
アドオン
アドオン/MenuBar
アドオン/monorail
アドオン/railtool
アドオン/railtool2
アドオン/その他
アドオン/街の車
アドオン/緩急坂/その他
アドオン/緩急坂/モノレール
アドオン/緩急坂/鉄道関連 1
アドオン/緩急坂/鉄道関連_2
アドオン/緩急坂/道路関連 1
アドオン/緩急坂/道路関連 2
アドオン/建物1
アドオン/建物2
アドオン/建物3
アドオン/建物4
アドオン/建物5
アドオン/交通施設 2
アドオン/航路ツール
アドオン/自動車
アドオン/自動車2
アドオン/船
アドオン/船2
アドオン/飛行機
アドオン/問題報告
アドオン/問題報告/過去のコメント
アドオン/問題報告/過去のコメント/1
アドオン/列車1
アドオン/列車10
アドオン/列車11
アドオン/列車12
アドオン/列車13
アドオン/列車14
アドオン/列車15
アドオン/列車16
アドオン/列車17
アドオン/列車18
アドオン/列車19
アドオン/列車2
アドオン/列車20
アドオン/列車21
アドオン/列車22
アドオン/列車3
アドオン/列車4
アドオン/列車5
アドオン/列車6
アドオン/列車7
アドオン/列車8
アドオン/列車9
アドオンインストール
アドオン開発
アドオン開発/Makeobj
アドオン開発/datファイル記述リファレンス
アドオン開発/datファイル記述リファレンス/bridge(橋)
アドオン開発/datファイル記述リファレンス/building(建築物)
アドオン開発/datファイル記述リファレンス/building(建築物)2
アドオン開発/datファイル記述リファレンス/citycar(自動車)
アドオン開発/datファイル記述リファレンス/crossing(交差)
アドオン開発/datファイル記述リファレンス/factory(産業)
アドオン開発/datファイル記述リファレンス/goods(貨物)
アドオン開発/datファイル記述リファレンス/ground_obj
アドオン開発/datファイル記述リファレンス/misc(各種)
アドオン開発/datファイル記述リファレンス/pedestrian(通行人)
アドオン開発/datファイル記述リファレンス/roadsign(道路標識)
アドオン開発/datファイル記述リファレンス/tree(木)
アドオン開発/datファイル記述リファレンス/tunnel(トンネル)
アドオン開発/datファイル記述リファレンス/vehicle(乗り物)
アドオン開発/datファイル記述リファレンス/way(道)
アドオン開発/datファイル記述リファレンス/way-object
アドオン開発/アドオンの作り方
アドオン開発/ツール解説
アドオン開発/フリー素材
アドオン開発/画像
アドオン開発/画像/参考技術
アドオン開発/画像/指定の仕方
インストール
サイトマップ
スクリーンショット
スクリーンショット/128
スクリーンショット/64
スクリプト開発
スクリプト開発/Tips集
スレッドのまとめ
チュートリアル
チュートリアル/pak128で始める旅客輸送
チュートリアル/ゲームのルール
チュートリアル/ゲームの開始と終了
チュートリアル/スケジュールと路線
チュートリアル/スケジュールと路線/時刻表について
チュートリアル/デッドロック対応方法
チュートリアル/トンネル
チュートリアル/駅やバス停等の建設
チュートリアル/貨物輸送入門
チュートリアル/緩急接続の仕方
チュートリアル/緩急接続の仕方2
チュートリアル/既存路線の編成を変更する方法
チュートリアル/橋のかけ方
チュートリアル/空港の建設方法
チュートリアル/公共事業の活用
チュートリアル/市域(city limit)について
チュートリアル/初心者のためのSimutrans経営マニュアル
チュートリアル/信号入門
チュートリアル/信号入門/102.2.2
チュートリアル/信号入門/応用1
チュートリアル/信号入門/複線での列車追い越し方法
チュートリアル/信号入門88
チュートリアル/信号入門89
チュートリアル/信号入門99
チュートリアル/信号配置と配線のテクニック
チュートリアル/折り返し・分岐の諸技
チュートリアル/線路や道路等の建設
チュートリアル/他社との乗換駅・直通運転
チュートリアル/他社との乗換駅を作る方法
チュートリアル/大きな駅の配線について
チュートリアル/電化と非電化
チュートリアル/電力入門(111.1)
チュートリアル/複層高架の建設方法
チュートリアル/便利なショートカットキー
チュートリアル/輸送方法いろいろ
チュートリアル/郵便入門
チュートリアル/旅客輸送指南
ヘルプ
マップ
メモ
メモ/pak64産業施設
メモ/trick
メモ/その他各種Tips
メモ/アドオン(pak64)索引
メモ/ショートカットの作り方
メモ/ネットワークゲーム
メモ/ネットワークゲーム/Nettool
メモ/マップ一覧/Size256 No.000〜099
メモ/マルチプレイ
メモ/貨物輸送に関するあれこれ
メモ/産業施設一覧
メモ/他社間の鉄道の乗り入れの仕方
メモ/段差のある駅を作る方法
メモ/儲ける方法いろいろ
リンク
画面説明
画面説明/ゲームオプション
画面説明/スケジュール・路線
画面説明/スタート
画面説明/スロープツール
画面説明/ツールバーとウィンドウ
画面説明/マップ編集ツール
画面説明/ミニマップ
画面説明/メッセージ表
画面説明/モノレール/リニアツール
画面説明/ロード・セーブ
画面説明/一覧表
画面説明/航空機ツール
画面説明/財務
画面説明/市電/軽便鉄道ツール
画面説明/車庫
画面説明/船舶ツール
画面説明/調査ツール
画面説明/鉄道ツール
画面説明/道路ツール
画面説明/特別建築物
画面説明/路線編集
開発
開発/ビルド方法
開発/派生版
各Pakセットの解説(Extended)
簡易掲示板
簡易掲示板/アドオンの改造・公開の確認用スレッド
簡易掲示板/運営チームへ
簡易掲示板/質問
簡易掲示板/質問/1
企画
資料
資料/128版コストデータファイル
資料/貨物一覧
資料/乗り物一覧
資料/乗り物一覧/トラック
資料/乗り物一覧/バス
資料/乗り物一覧/フェリー
資料/乗り物一覧/モノレール
資料/乗り物一覧/貨車
資料/乗り物一覧/機関車
資料/乗り物一覧/航空機
資料/乗り物一覧/船舶
資料/乗り物一覧/旅客車
資料/乗り物一覧/路面電車
資料/名所旧跡一覧
新しい産業を作ろう!@64
新しい産業を作ろう!@64/コメント
新しい産業を作ろう!@64/コメント/1
整形ルール
設定ファイル
設定ファイル/cityrules.tab
設定ファイル/menuconf.tab
設定ファイル/simuconf.tab
設定ファイル/シナリオ
設定ファイル/高度な設定
鉄道路線、輸送力増強ガイド
日本語(漢字)化プロジェクト
日本語化ファイル
日本語化ファイル/ja.tab編集方法
日本語化ファイル/旧ファイル倉庫
用語集
#contents RIGHT: &size(10){''更新履歴''}; &size(10){double height対応の項目は不要になったので削除しました 2019/07/28}; &size(10){ビルド方法を整理しました 2019/07/28}; &size(10){svnサーバー変更 2016/11/20}; &size(10){OpenTTDについて追記 2016/03/26}; &size(10){120.0向けにビルド方法を変更 2014/06/19}; &size(10){svnサーバー変更 2014/04/24}; &size(10){サーバー用の設定を追加 2011/08/20}; // &size(10){初版。MinGWの項のみ 2010/04/30}; *ソースコードのビルド方法 [#vb45419e] #div(start,noteblue) 詳しい方がおられましたら、どんどん補足、修正をお願いします。 WSLでのコンパイル方法わかる方いらっしゃいましたら追記をお願いします. #div(end) **ソースコードを入手する [#qa9cfeff] リリース版のソースは[[SourceForge:http://sourceforge.net/projects/simutrans/files/simutrans/]]にある。 //開発中のソースのSVNでの入手方法はhttp://simutrans-germany.com/wiki/wiki/tiki-index.php?page=en_CompilingSimutrans 参照。 //http://en.wiki.simutrans.com/index.php/Source_Code 参照。 開発中のソースは個人のSVNサーバーで管理されているので、そこから入手可能。 |svnサーバー|svn://servers.simutrans.org/simutrans| |ユーザー名|anon| |パスワード|(空白)| 開発トランクはGitHubでもミラーされている。http://github.com/aburch/simutransからも入手可能。 **MSYS2でのGDI版のビルド方法(Windows) [#l48c033c] +MSYS2を https://www.msys2.org/ からインストール。 +MSYS2のパッケージを更新する.''32bit版''のMSYS2で以下のコードを実行すればよい. yes | pacman -Syu 最後に以下のようなメッセージが表示されるので,MSYS2の画面の閉じるボタンを押して一度MSYS2を終了し,もう一度MSYS2の32bit版を起動する. 警告: terminate MSYS2 without returning to shell and check for updates again 警告: for example close your terminal window instead of calling exit +MSYS2内で,以下のコードを実行.ライブラリのインストールを行う. pacman -S git make mingw-w64-i686-toolchain mingw-w64-i686-zlib mingw-w64-i686-bzip2 mingw-w64-i686-libpng +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く(改行がLFなのでメモ帳は不可)。 +以下の行の先頭の#を削除。 BACKEND = gdi COLOUR_DEPTH = 16 OSTYPE = mingw OPTIMISE = 1 STATIC = 1 MULTI_THREAD = 1 +ソースのあるディレクトリに移動する。c:\src\simutrans-src-102-2-2にソースがある場合は cd /c/src/simutrans-src-102-2-2 と入力してEnter。 +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけばsim.exeができる。 ***コマンドプロンプトを開く/開かない [#y33bb358] config.defaultの WIN32_CONSOLE = 1 が,コマンドプロンプトを開くかどうかのフラグです.1にすればSimutransはコマンドプロンプトを開いて起動します. ***SDL版のビルド [#s4fd7286] -SDL、SDL_mixerの ライブラリが必要→どこから入手? 下記から入手可能 http://www.libsdl.org/download-1.2.php(SDLライブラリ) http://www.libsdl.org/projects/SDL_mixer/(SDL_mixerライブラリ) ***サーバー専用にする [#cfbb260d] config.defaultで、「BACKEND = posix」、「COLOUR_DEPTH = 0」に設定します。 起動時には、pakセット、言語などをコマンドラインから指定する必要があります。&br;(例)「-objects pak -lang ja」 ***nettoolのビルド [#na670a81] Makefileで「 -lwsock32」が不足しているようです。STD_LIBSに追加したら成功しました。 ***makeobjのビルド [#wa3b14bd] -makeobjディレクトリに移動し,makeすればよい. 開発トランクのmakeobjソースコードは仕様が確定していないため、これで作成したpakは将来使用できなくなる可能性があります&imgfolder(16/exclamation.png); **MSVC++ Express/Community Editionでのビルド方法(Windows) [#a9f8b600] #div(start,noteblue) わかる方,更新お願いします. #div(end) +まずソースコードを入手しますが、SourceForgeからダウンロードした安定板のソースコードだとVC++用プロジェクトファイルが付いてこないので、SVNかGitHubからダウンロードします。&br;リビジョンが合っていればsourceforgeからダウンロードしたものにsvnやgitからダウンロードしたプロジェクトファイルを組み合わせても大丈夫です。必要なファイルはSimutrans.sln,Simutrans.vcxproj,rivision.jse,simres.rcです。 //&br;VS10用のプロジェクトファイルはバグがあるので注意、VS10使用時でも通常版を読み込みましょう。最近のリビジョンでは削除されました。 +libbz2.libとbzlib.hを用意します。 --(MSVC++2013まで)[[英語フォーラム:16608]]からlibbz2.libとbzlib.h(bzlib.msvc.7zというファイルに圧縮されています)がダウンロードできるので、適当なフォルダに保存します。 --(MSVC++2015以降)[[bzip2のWebサイト:http://www.bzip.org/downloads.html]]からbzip2のソースコードをダウンロード・展開します。ダウンロードしたbzip2のソースをMSVC++でビルドすることにより、libbz2.libが生成されます。bzlib.hは、bzip2のソースに添付されているものを使用します。 ---上述英語フォーラム:16608からダウンロードできるlibbz2.libだと、Simutransのビルドの時点で「外部シンボル "__imp____iob_func" は未解決です。」というエラーが発生し、ビルドが失敗します。[[VC++2015以降でstdin、stdout、stderrの定義が変わっている:http://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2]]のが原因と思われます。 //フォーラムに貼られていたファイルがリンク切れになってたので最新のものに更新 +[[OpenTTD用のライブラリ:http://binaries.openttd.org/extra/openttd-useful/]]をダウンロードします。ダウンロードするファイルは、最新バージョンのディレクトリを選び、その中の末尾が"-win.zip"のファイルです。sourceやsumではありません。こちらも適当な場所に展開します。 //(追記)私の環境では6.0では上手くいかず、少し古めのもの(4.0)で試してみたら成功しました。 //↑ZLIB_WINAPIをプリプロセッサの定義に追加することでうまくいくようですので、コメントアウトしておきます。 +[[pthreadsのライブラリ:http://sourceware.org/pthreads-win32/]]をftpからダウンロードします。dll-latestの下のinclude,lib,dll内のファイルをすべて保存します。 +ソースフォルダ内のソリューションファイル(Simutrans.sln)かプロジェクトファイル(Simutrans.vcxproj)を開きます。 +ソリューションエクスプローラからプロジェクトのプロパティを開き、構成プロパティのVC++ディレクトリを選択します。 +インクルードディレクトリに保存しておいたhファイルの入ったディレクトリを追加します。OpenTTD用ライブラリの物は"展開したフォルダ\shared\include"にあります。 +ライブラリディレクトリに保存しておいたlibファイル,aファイル,dllファイルの入ったディレクトリを指定します。OpenTTD用ライブラリの物は"展開したフォルダ\win32\library"にあります。 +構成プロパティのC/C++→プリプロセッサを選択し、プリプロセッサの定義にZLIB_WINAPIを追記します。 +(120.1.1以降)プロジェクトのプロパティを開き、リンカー→入力の中の追加の依存ファイルを選択しimm32.libを追記します。 +(120.1.1以降)マニフェストツール→入出力で埋め込みマニフェストをいいえにします。 +プロジェクトをビルドします。上手くいけばソースフォルダ内のDebugフォルダにSimutrans.exeが出来ています。&br;Debug版だとデバッグ用の表示が追加されているので、Release版に変更してビルドすると無くなります。Debug版とは別にもう一度構成プロパティの変更が必要なので注意。 -revision.hが存在しないと言われてビルドが失敗する場合があります。これは本家のSVNを用いてソースコードをダウンロードしなかった場合(SourceforgeやTurtoiseSVN)に起こるエラーです。revision.hを自分で作るか、プリプロセッサでリビジョンを定義してやる必要があります。 ~プリプロセッサに定義する場合は、プロジェクトの構成プロパティでC/C++→プリプロセッサを開きます。プリプロセッサの定義の末尾に、「REVISION=(リビジョン番号)」を付けたして下さい。 ~revision.hを自作する場合は、次のように書いてrevision.hとして保存してください。もちろん保存後はプロジェクトにヘッダファイルとして追加する必要があります。 #ifndef _revision_h #define _revision_h #define REVISION (リビジョン番号) #endif なお、MSVC++を用いてビルドした場合、動作にpthreadのVisual C++用の動的リンクライブラリ(dll)が必要になります。本体を動作させるフォルダに、Simutransのデフォルトで付いてくるpthreadGC2.dllの代わりに、準備でダウンロードしたpthreadVC2.dllを置いてやります。 参考リンク: -[[英語フォーラム:652]] How to compile Simutrans (&Makeobj) on Windows with MSVC -[[英語フォーラム:16608]] How to compile Simutrans with MSVC **macOSでのビルド方法(SDL2版) [#t54ef7b6] +homebrew( https://brew.sh/index_ja )をインストールする. +ターミナルで以下のコマンドを実行する.(ライブラリのインストール) brew install sdl2 libpng miniupnpc freetype +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く。 +以下の行の先頭の#を削除。 BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = mac OPTIMISE = 1 AV_FOUNDATION = 1 MULTI_THREAD = 1 +ターミナルで,ソースコードがあるディレクトリに移動する.例えば,ダウンロード/simutran-src-120-4にソースコードがあるなら,cd ~/Downloads/simutrans-src-120-4 と入力する.(~/ はユーザーのホームディレクトリの意味) +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけば実行ファイル「sim」ができる。 **Linuxでのビルド方法(SDL2版) [#z427d63f] ※Ubuntuでのビルドを想定しています. +以下のコマンドを実行する.(ライブラリのインストール) sudo apt install make gcc gdb git zlib1g-dev libbz2-dev libpng-dev libsdl2-dev libminiupnpc-dev libfreetype6 +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く。 +以下の行の先頭の#を削除。 BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = linux OPTIMISE = 1 MULTI_THREAD = 1 +ターミナルで,ソースコードがあるディレクトリに移動する.(cdコマンドを用いる) +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけば実行ファイル「sim」ができる。 *パッチの当て方 [#da6325af] simutrans本体の改変版は、実行ファイル形式で配布することも多いですが、ソースコードの差分を記述したパッチという形式で配布される場合が多々あります(拡張子は.patchか.diff)。小規模な変更の場合はパッチファイルのみ配布されることが多いです。 パッチファイルはあくまでもソースコードの差分を記述したファイルなので、ソースコードにパッチを当ててからビルドし実行ファイルを作ることでパッチの機能が付与されたsimutrans本体が出来上がります。 パッチファイルを当てる方法は大きく分けて2種類あり、1つはコマンドライン上からpatchというコマンドを実行する方法です。 Windowsのコマンドプロンプトにはpatchコマンドが付いてこないので、MinGWやCygwinを用いるかWindows移植版のpatch.exeをダウンロードしpathを通します。 基本的にはsimutransのソースコードが入っているディレクトリで「patch -p0 <パッチファイル名」と行えば大丈夫です。詳しい使い方は[[MANを参照:http://linuxjm.sourceforge.jp/html/GNU_patch/man1/patch.1.html]]。 もう1つはGUIの付いたアプリケーションを使って当てる方法です。筆者は[[TurtoiseSVN:http://tortoisesvn.net/]]というアプリケーションを用いています。(SVNからソースコードを入手したりするのにも便利) インストール方法は省略。simutransのソースコードの入ったフォルダを右クリックし、「パッチを適用」を選択しパッチファイルを開くとパッチ処理が行われます。
#contents RIGHT: &size(10){''更新履歴''}; &size(10){double height対応の項目は不要になったので削除しました 2019/07/28}; &size(10){ビルド方法を整理しました 2019/07/28}; &size(10){svnサーバー変更 2016/11/20}; &size(10){OpenTTDについて追記 2016/03/26}; &size(10){120.0向けにビルド方法を変更 2014/06/19}; &size(10){svnサーバー変更 2014/04/24}; &size(10){サーバー用の設定を追加 2011/08/20}; // &size(10){初版。MinGWの項のみ 2010/04/30}; *ソースコードのビルド方法 [#vb45419e] #div(start,noteblue) 詳しい方がおられましたら、どんどん補足、修正をお願いします。 WSLでのコンパイル方法わかる方いらっしゃいましたら追記をお願いします. #div(end) **ソースコードを入手する [#qa9cfeff] リリース版のソースは[[SourceForge:http://sourceforge.net/projects/simutrans/files/simutrans/]]にある。 //開発中のソースのSVNでの入手方法はhttp://simutrans-germany.com/wiki/wiki/tiki-index.php?page=en_CompilingSimutrans 参照。 //http://en.wiki.simutrans.com/index.php/Source_Code 参照。 開発中のソースは個人のSVNサーバーで管理されているので、そこから入手可能。 |svnサーバー|svn://servers.simutrans.org/simutrans| |ユーザー名|anon| |パスワード|(空白)| 開発トランクはGitHubでもミラーされている。http://github.com/aburch/simutransからも入手可能。 **MSYS2でのGDI版のビルド方法(Windows) [#l48c033c] +MSYS2を https://www.msys2.org/ からインストール。 +MSYS2のパッケージを更新する.''32bit版''のMSYS2で以下のコードを実行すればよい. yes | pacman -Syu 最後に以下のようなメッセージが表示されるので,MSYS2の画面の閉じるボタンを押して一度MSYS2を終了し,もう一度MSYS2の32bit版を起動する. 警告: terminate MSYS2 without returning to shell and check for updates again 警告: for example close your terminal window instead of calling exit +MSYS2内で,以下のコードを実行.ライブラリのインストールを行う. pacman -S git make mingw-w64-i686-toolchain mingw-w64-i686-zlib mingw-w64-i686-bzip2 mingw-w64-i686-libpng +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く(改行がLFなのでメモ帳は不可)。 +以下の行の先頭の#を削除。 BACKEND = gdi COLOUR_DEPTH = 16 OSTYPE = mingw OPTIMISE = 1 STATIC = 1 MULTI_THREAD = 1 +ソースのあるディレクトリに移動する。c:\src\simutrans-src-102-2-2にソースがある場合は cd /c/src/simutrans-src-102-2-2 と入力してEnter。 +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけばsim.exeができる。 ***コマンドプロンプトを開く/開かない [#y33bb358] config.defaultの WIN32_CONSOLE = 1 が,コマンドプロンプトを開くかどうかのフラグです.1にすればSimutransはコマンドプロンプトを開いて起動します. ***SDL版のビルド [#s4fd7286] -SDL、SDL_mixerの ライブラリが必要→どこから入手? 下記から入手可能 http://www.libsdl.org/download-1.2.php(SDLライブラリ) http://www.libsdl.org/projects/SDL_mixer/(SDL_mixerライブラリ) ***サーバー専用にする [#cfbb260d] config.defaultで、「BACKEND = posix」、「COLOUR_DEPTH = 0」に設定します。 起動時には、pakセット、言語などをコマンドラインから指定する必要があります。&br;(例)「-objects pak -lang ja」 ***nettoolのビルド [#na670a81] Makefileで「 -lwsock32」が不足しているようです。STD_LIBSに追加したら成功しました。 ***makeobjのビルド [#wa3b14bd] -makeobjディレクトリに移動し,makeすればよい. 開発トランクのmakeobjソースコードは仕様が確定していないため、これで作成したpakは将来使用できなくなる可能性があります&imgfolder(16/exclamation.png); **MSVC++ Express/Community Editionでのビルド方法(Windows) [#a9f8b600] #div(start,noteblue) わかる方,更新お願いします. #div(end) +まずソースコードを入手しますが、SourceForgeからダウンロードした安定板のソースコードだとVC++用プロジェクトファイルが付いてこないので、SVNかGitHubからダウンロードします。&br;リビジョンが合っていればsourceforgeからダウンロードしたものにsvnやgitからダウンロードしたプロジェクトファイルを組み合わせても大丈夫です。必要なファイルはSimutrans.sln,Simutrans.vcxproj,rivision.jse,simres.rcです。 //&br;VS10用のプロジェクトファイルはバグがあるので注意、VS10使用時でも通常版を読み込みましょう。最近のリビジョンでは削除されました。 +libbz2.libとbzlib.hを用意します。 --(MSVC++2013まで)[[英語フォーラム:16608]]からlibbz2.libとbzlib.h(bzlib.msvc.7zというファイルに圧縮されています)がダウンロードできるので、適当なフォルダに保存します。 --(MSVC++2015以降)[[bzip2のWebサイト:http://www.bzip.org/downloads.html]]からbzip2のソースコードをダウンロード・展開します。ダウンロードしたbzip2のソースをMSVC++でビルドすることにより、libbz2.libが生成されます。bzlib.hは、bzip2のソースに添付されているものを使用します。 ---上述英語フォーラム:16608からダウンロードできるlibbz2.libだと、Simutransのビルドの時点で「外部シンボル "__imp____iob_func" は未解決です。」というエラーが発生し、ビルドが失敗します。[[VC++2015以降でstdin、stdout、stderrの定義が変わっている:http://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2]]のが原因と思われます。 //フォーラムに貼られていたファイルがリンク切れになってたので最新のものに更新 +[[OpenTTD用のライブラリ:http://binaries.openttd.org/extra/openttd-useful/]]をダウンロードします。ダウンロードするファイルは、最新バージョンのディレクトリを選び、その中の末尾が"-win.zip"のファイルです。sourceやsumではありません。こちらも適当な場所に展開します。 //(追記)私の環境では6.0では上手くいかず、少し古めのもの(4.0)で試してみたら成功しました。 //↑ZLIB_WINAPIをプリプロセッサの定義に追加することでうまくいくようですので、コメントアウトしておきます。 +[[pthreadsのライブラリ:http://sourceware.org/pthreads-win32/]]をftpからダウンロードします。dll-latestの下のinclude,lib,dll内のファイルをすべて保存します。 +ソースフォルダ内のソリューションファイル(Simutrans.sln)かプロジェクトファイル(Simutrans.vcxproj)を開きます。 +ソリューションエクスプローラからプロジェクトのプロパティを開き、構成プロパティのVC++ディレクトリを選択します。 +インクルードディレクトリに保存しておいたhファイルの入ったディレクトリを追加します。OpenTTD用ライブラリの物は"展開したフォルダ\shared\include"にあります。 +ライブラリディレクトリに保存しておいたlibファイル,aファイル,dllファイルの入ったディレクトリを指定します。OpenTTD用ライブラリの物は"展開したフォルダ\win32\library"にあります。 +構成プロパティのC/C++→プリプロセッサを選択し、プリプロセッサの定義にZLIB_WINAPIを追記します。 +(120.1.1以降)プロジェクトのプロパティを開き、リンカー→入力の中の追加の依存ファイルを選択しimm32.libを追記します。 +(120.1.1以降)マニフェストツール→入出力で埋め込みマニフェストをいいえにします。 +プロジェクトをビルドします。上手くいけばソースフォルダ内のDebugフォルダにSimutrans.exeが出来ています。&br;Debug版だとデバッグ用の表示が追加されているので、Release版に変更してビルドすると無くなります。Debug版とは別にもう一度構成プロパティの変更が必要なので注意。 -revision.hが存在しないと言われてビルドが失敗する場合があります。これは本家のSVNを用いてソースコードをダウンロードしなかった場合(SourceforgeやTurtoiseSVN)に起こるエラーです。revision.hを自分で作るか、プリプロセッサでリビジョンを定義してやる必要があります。 ~プリプロセッサに定義する場合は、プロジェクトの構成プロパティでC/C++→プリプロセッサを開きます。プリプロセッサの定義の末尾に、「REVISION=(リビジョン番号)」を付けたして下さい。 ~revision.hを自作する場合は、次のように書いてrevision.hとして保存してください。もちろん保存後はプロジェクトにヘッダファイルとして追加する必要があります。 #ifndef _revision_h #define _revision_h #define REVISION (リビジョン番号) #endif なお、MSVC++を用いてビルドした場合、動作にpthreadのVisual C++用の動的リンクライブラリ(dll)が必要になります。本体を動作させるフォルダに、Simutransのデフォルトで付いてくるpthreadGC2.dllの代わりに、準備でダウンロードしたpthreadVC2.dllを置いてやります。 参考リンク: -[[英語フォーラム:652]] How to compile Simutrans (&Makeobj) on Windows with MSVC -[[英語フォーラム:16608]] How to compile Simutrans with MSVC **macOSでのビルド方法(SDL2版) [#t54ef7b6] +homebrew( https://brew.sh/index_ja )をインストールする. +ターミナルで以下のコマンドを実行する.(ライブラリのインストール) brew install sdl2 libpng miniupnpc freetype +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く。 +以下の行の先頭の#を削除。 BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = mac OPTIMISE = 1 AV_FOUNDATION = 1 MULTI_THREAD = 1 +ターミナルで,ソースコードがあるディレクトリに移動する.例えば,ダウンロード/simutran-src-120-4にソースコードがあるなら,cd ~/Downloads/simutrans-src-120-4 と入力する.(~/ はユーザーのホームディレクトリの意味) +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけば実行ファイル「sim」ができる。 **Linuxでのビルド方法(SDL2版) [#z427d63f] ※Ubuntuでのビルドを想定しています. +以下のコマンドを実行する.(ライブラリのインストール) sudo apt install make gcc gdb git zlib1g-dev libbz2-dev libpng-dev libsdl2-dev libminiupnpc-dev libfreetype6 +config.templateをコピーし,「config.default」に名前を変更する. +config.defaultを適当なテキストエディタで開く。 +以下の行の先頭の#を削除。 BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = linux OPTIMISE = 1 MULTI_THREAD = 1 +ターミナルで,ソースコードがあるディレクトリに移動する.(cdコマンドを用いる) +make -j4 と入力してEnter。「4」はお使いのPCの論理コア数に置き換える.(並列コンパイル数の設定) +うまくいけば実行ファイル「sim」ができる。 *パッチの当て方 [#da6325af] simutrans本体の改変版は、実行ファイル形式で配布することも多いですが、ソースコードの差分を記述したパッチという形式で配布される場合が多々あります(拡張子は.patchか.diff)。小規模な変更の場合はパッチファイルのみ配布されることが多いです。 パッチファイルはあくまでもソースコードの差分を記述したファイルなので、ソースコードにパッチを当ててからビルドし実行ファイルを作ることでパッチの機能が付与されたsimutrans本体が出来上がります。 パッチファイルを当てる方法は大きく分けて2種類あり、1つはコマンドライン上からpatchというコマンドを実行する方法です。 Windowsのコマンドプロンプトにはpatchコマンドが付いてこないので、MinGWやCygwinを用いるかWindows移植版のpatch.exeをダウンロードしpathを通します。 基本的にはsimutransのソースコードが入っているディレクトリで「patch -p0 <パッチファイル名」と行えば大丈夫です。詳しい使い方は[[MANを参照:http://linuxjm.sourceforge.jp/html/GNU_patch/man1/patch.1.html]]。 もう1つはGUIの付いたアプリケーションを使って当てる方法です。筆者は[[TurtoiseSVN:http://tortoisesvn.net/]]というアプリケーションを用いています。(SVNからソースコードを入手したりするのにも便利) インストール方法は省略。simutransのソースコードの入ったフォルダを右クリックし、「パッチを適用」を選択しパッチファイルを開くとパッチ処理が行われます。
テキスト整形のルールを表示する(編集中のテキストは失われます)