0

昨日、関数 を使用して、C で書かれたプログラムで XML ファイルを解析できました doc = xmlParseFile(fname);

現在は NULL を返します (次の行でキャッチされ、エラーが返されます)。プログラムは 1 か月以上変更されておらず、XML ファイルは先週から変更されておらず、libxml2 は 2012 年 3 月 25 日以降変更されていません。xmllint は問題なくファイルを処理し、別のコンピューター (Solaris、同じソース コードを使用しますが、異なるコンパイラーとライブラリーを使用) でそれらを解析できます。では、他に何を確認すればよいでしょうか。このスレッドに似ているように聞こえますが、そのハッキーなソリューションは避けたいと思いますhttp://ubuntuforums.org/showthread.php?t=1402824 (まだ試していません)

C プログラムは、実際には MatLab から呼び出された mex 関数ですが、違いはありませんよね? これを GNU/Linux で実行しています。

4

1 に答える 1

1

これを試して:

  FILE *f = fopen("~/myxml.log", "a");
  xmlSetGenericErrorFunc(f, NULL);
  doc = xmlParseFile(fname);
  fclose(f);

ログファイルの結果を見てください。

于 2012-05-03T12:14:49.513 に答える