|
2008/06/27(Fri) 13:13:59 編集(投稿者)
■No21224 (よねKEN さん) に返信 > 日本語が原因なのは間違いないでしょうか。 > 例えば、空白が含まれるパスだと""で囲ってやる必要がありますが、その辺の問題ではないですよね? パス内の空白の問題はD言語に限らないことなので、常に""で括るようにしています。
> バッチファイルにD&Dしたときにバッチファイルが受け取ったパスの内容は > 確認されましたでしょうか?確認されて想定しているパスと同じでしたか? > (8.3形式で渡されていると日本語が含まれない形に変わっているかもしれませんし) 確認しましたが、日本語がそのまま含まれていました。 VB側と同じ状態です。
> 具体的にはどんなパスでしょうか? '---VBから抜粋.filenameにはソースファイルのフルパス"C:\Documents and Settings\hoge\デスクトップ\test.d" 'Binフォルダを追加 BinPath = Combine(GetDirectoryName(filename), "Bin") 'ソースファイル名から拡張子を取り除いて出力ファイル名に付加 BinPath = Combine(BinPath, GetFileNameWithoutExtension(filename)) 'コマンドライン引数設定 cmdProc.StartInfo.Arguments = """" & filename & """ -of""" & BinPath & """ -O -release"
'拡張子を省いたのは、スイッチによってはexeを出力するとは限らないから 'コンパイラに任せる
しかし、エラー文からして、スペースで切られてるような感じです。 OPTLINK (R) for Win32 Release 8.00.1 Copyright (C) Digital Mars 1989-2004 All rights reserves. C:\Documents.obj Error 2: File Not Found C:\Documents.obj --- errorlevel 1
リンカがオブジェクトファイルを見つけられていない模様。 コンパイラがリンカに投げるパスが""で括られないのか…?もしかして。
|