365: Windowsでのコンパイルの問題


最新状況

タイトル Windowsでのコンパイルの問題
状態 完了
カテゴリ バグ
作成日時 2019-12-15 19:02:25
最終更新日時 2020-01-15 10:23:05

履歴

1 | 2019-12-15 19:02:25 | 提案
kamimoto0127 at gmail.com
外国人だから、日本語をよくわかりません

http://onscripter.osdn.jp/win/

2. c:\src\SDL_ttf-2.0.11\SDL_ttf.c の750行目を以下の赤字のように修正します。
    for ( row = 0; row < glyph->pixmap.rows; ++row ) {


line750ではなく、line1750に見えます。

onscripter-20191116.tar.gz
のソースをコンパイルしました。

Visual Studio 2015 , Visual Studio 2017
両方コンパイルしました。

savescreenshotコマンドが誤動作します。

ファイルが0KBに出ます。

LinuxとMingwには問題ありません。
Visual Studioのみ問題があります。

解決お願いします。

2 | 2019-12-30 11:56:48 | 修正済
ogapee at aqua.dti2.ne.jp
ご報告ありがとうございます。

こちらで検証したところ、たしかにご指摘の問題が発生しました。

fopen などの stdio 関連の命令を実行しようとすると、SDL のサイトで配布されているビ
ルド済みの DLL では c:\Windows\system32\msvcrt.dll にある関数を使用し、Visual 
Studio 2017 でビルドした ONScripter 本体では c:\Windows\system32\api-ms-win-crt-
stdio-l1-1-0.dll にある関数を使用するのですが、両者の間で FILE 構造体を共有すると
ファイルの入出力が正常に実行されないことが原因でした。

ONScripter 内に両者で FILE 構造体を共有している箇所はほぼないのですが、バグ報告に
あった savescreenshot 命令では共有していたため問題が発生していました。そこで、関
連ライブラリを含めてすべてソースからビルドし、静的リンクによって実行ファイルを生
成するようにしました。

関連ライブラリのソースをまとめて、Visual Studio で一発でビルドできるようにしたパ
ッケージを用意しましたので、こちらをご利用ください。

また、ONScripter.vcxproj のみを変更した onscripter-20191116.tar.gz もアップロード
し直しましたので、こちらも再度ダウンロードし直してください。

3 | 2019-12-30 13:10:58 | 修正済
kamimoto0127 at gmail.com
ライブラリのコンパイルは問題ないが、
ONScripter本体のコンパイルは、zlib関連エラーが生じます。

Severity	Code	Description	Project	File	Line	Suppression State
Error	C2220	warning treated as error - no 'executable' file generated	ONScripter	
d:\ons\onscripter_win\zlib-1.2.11\deflate.c	2102	

Severity	Code	Description	Project	File	Line	Suppression State
Warning	C5045	Compiler will insert Spectre mitigation for memory load if 
/Qspectre switch specified	ONScripter	d:\ons\onscripter_win\zlib-
1.2.11\deflate.c	2102
vs2017.png (image/png, 70577 bytes) [表示] [ダウンロード]

4 | 2019-12-30 14:00:05 | 修正済
ogapee at aqua.dti2.ne.jp
エラーが発生している deflate.c は zlib に含まれているため、ONScripter 本体をビル
ドするときにはコンパイルしないはずです。

なぜ deflate.c をコンパイルしようとしているのか調べていただけないでしょうか。

また、warning treated as error とありますが、もし /WX オプションを付けて 
ONScripter をビルドしている場合は外してください。

5 | 2019-12-30 14:34:06 | 修正済
kamimoto0127 at gmail.com
http://onscripter.osdn.jp/win/

そのまま真似しました。
なぜdeflate.cをコンパイルするか、よく分かりません。

static linkの問題がないかと思います。

6 | 2020-01-15 08:25:17 | 修正済
ogapee at aqua.dti2.ne.jp
ONScripter on Windows の関連ライブラリを更新し、libpng と zlib をビルドする際に「
警告をエラーとして扱う」を「いいえ」に設定(/WX- オプションを指定)するようにしま
した。

20200114 以降の関連ライブラリを使用してビルドしていただけないでしょうか。

7 | 2020-01-15 09:38:14 | 修正済
kamimoto0127 at gmail.com
Compile成功しました。

ありがとうございます。

8 | 2020-01-15 10:23:05 | 完了
ogapee at aqua.dti2.ne.jp
ご報告ありがとうございます。

それでは本報告は完了とさせていただきます。

[リプライをつける]
Bug Tracking System 影舞 0.8.8
Powered by Ruby 1.8.7