付属のソリューション ファイルを使用して、VS 2015 でlibsass 3.3.6を DLL にコンパイルしました。以下のコードを実行すると、プログラムがすぐにクラッシュし、何も出力されません。
using System;
using System.Runtime.InteropServices;
namespace Sass.Cli {
static class Sass {
[DllImport(@"C:\...\libsass\win\bin\libsass.dll")]
public static extern String libsass_version();
}
class Program {
static void Main(string[] args) {
Console.WriteLine(Sass.libsass_version());
}
}
}
呼び出された関数のソースはsass.cpp:61にあります。
const char* ADDCALL libsass_version(void)
DLL と上記のコードは両方とも x86 用にコンパイルされています。クラッシュ時に VS デバッガーを実行すると、次の例外が発生します: Sass.Cli.exe の 0x771A9841 (ntdll.dll) で未処理の例外: 0xC0000374: ヒープが破損しています (パラメーター: 0x771DC8D0)。
これは修正できるものですか、それとも私が見落としているものですか? それとも、libsass DLL が現在動作していないだけですか?