HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1129
ttot32bit osではコンパイルできたプログラムが64bit osではコンパイルできない6未解決


ttot

リンク

2010/11/29(Mon) 07:00:46|NO.36059

PCを新調しOSがxp 32bitからwin7 64bitになりました。
それにともない、HSPでの開発データをそっくりそのまま
新しい64bit osのPCに移し、プログラムのひとつをコンパイルしてみたところ

#波括弧が閉じられていません。
: error 19 : 致命的なエラーです

と表示されコンパイルできません。

32bitでコンパイルしてできたEXEファイルは64bitで動くのですが
そのEXEファイルのソースは64bitではコンパイルできないのです。

自分なりに検証したところソースファイルに含まれる2バイト文字の1部を
コンパイラが {}(波括弧) と誤認しているようなのです……
どう対処すればいいのでしょうか?

HSPのバージョンは3.22です。



この記事に返信する


damage

リンク

2010/11/29(Mon) 12:45:39|NO.36060

どう対処するのかだって?本気でそんなこと自分では思いつかずに聞いているのですか?
ソースコードを変えずに移植することを目的とするなら人任せにするしかないですね。
あなたに能動的思考力があるなら、
同じプログラムを再現するソースコードは何通りも記述を変えることができるのですけどね。



test

リンク

2010/11/29(Mon) 14:34:25|NO.36062

コンパイラが2バイト文字を波括弧と誤認するとしたらそれは解決すべきバグであるといえるでしょう。
詳しいことが分からないので、その問題が再現できるサンプルを出してもらえるとバグの解決につながると思います。あなたのソースをそのまま貼る必要はありません。なるべく小さいソースが望ましいです。

しかし大元のバグの解決には時間がかかると思われるので、すぐに解決するためにはdamage氏のいうように違った書き方を利用することで対処するのがよいでしょう。



名無し

リンク

2010/11/29(Mon) 19:14:36|NO.36066

32bitXPでコンパイルできていたソースが64bit7ではコンパイルできないのはなぜだ?



おにたま(管理人)

リンク

2010/11/29(Mon) 21:45:53|NO.36068

ご報告ありがとうございます。
64bitで実行できないということであればわかるのですが、コンパイルのためのコード自体は32bitコードで書かれていて、64bit上で動作が変わることは通常ありません。
問題が起こるコードをなるべく短い形でご提示頂くか、コンパイルできる形でソースをこちらまでメール(hsp@onionsoft.net)で送って頂ければ調査させて頂きます。



ぴかくらヨッシー6000

リンク

2010/12/23(Thu) 09:12:50|NO.36303

何かそのような情報あったような・・・



お湯

リンク

2011/1/14(Fri) 14:28:33|NO.36602

3.22のhspcmp.dllを3.21のhspcmp.dllと差し替えればコンパイルできると思いますよ

私の環境はxpの32bitで3.22は3.21と同じマシンで使用していて
3.21までは正常にコンパイルできていたスクリプトが3.22では
#波括弧が閉じられていません。
: error 19 : 致命的なエラーです
と同じエラーが出てコンパイルできなくなりましたがこの方法で解決できました



ONION software Copyright 1997-2023(c) All rights reserved.