私のOSはwindows7 64bitです。Microsoft C++ 2008 Express エディションと Intel C++ Compiler v11.1 x86 バージョンをインストールしました。
これで、Mathematica で x86 C コードを正常にコンパイルできました。
In[1]:= Needs["CCompilerDriver`"]
In[2]:= greeter = CreateExecutable[StringJoin["#include <stdio.h>\n", "int main(){\n", " printf(\"Hello world.\\n\");\n", "}\n"], "hiworld",
"Compiler" -> CCompilerDriver`IntelCompiler`IntelCompiler,
"CompilerInstallation" -> "C:\\Program Files (x86)\\Intel\\Compiler\\11.1\\072\\",
"CompilerName" -> Automatic, "TargetSystemID" -> "Windows"]
Out[2]= "C:\\...\\AppData\\Roaming\\Mathematica\\\
SystemFiles\\LibraryResources\\Windows-x86-64\\hiworld.exe"
しかしCompilationTarget -> "C"
、このような関数をコンパイルするために使用できませんでした
In[3]:= f = Compile[{x, y}, Sqrt[x^2 + y^2], CompilationTarget -> "C"]
During evaluation of In[3]:= LibraryFunction::libload: The function compiledFunction5 was not loaded from the file C:\\...\AppData\Roaming\Mathematica\ApplicationData\CCompilerDriver\BuildFolder\vax-5844\compiledFunction5.dll. >>
During evaluation of In[3]:= Compile::nogen: A library could not be generated from the compiled function. >>
私のプラットフォームは x64 なので、デフォルトを指定する必要があると思います"TargetSystemID"-> "Windows"
が、Mathematica でそのようなオプションを設定する方法がわかりません。
ここで何か見逃しましたか?
PS: 最近 Microsoft Visual Studio をインストールしたくありません。