1

Mathematica で使用する単純な C ファイルをコンパイルしようとしています。(注: 残りの手順に従って、空の addtwotm.c ファイルを作成し、addtwo.tm を追加しました)

#include "mathlink.h"
extern int addtwo( int i, int j);

int addtwo( int i, int j)
{
    return i+j;
}

#if WINDOWS_MATHLINK

#if __BORLANDC__
#pragma argsused
#endif

int PASCAL WinMain( HINSTANCE hinstCurrent, HINSTANCE hinstPrevious, LPSTR lpszCmdLine, int nCmdShow)
{
char  buff[512];
char FAR * buff_start = buff;
char FAR * argv[32];
char FAR * FAR * argv_end = argv + 32;

hinstPrevious = hinstPrevious; /* suppress warning */

if( !MLInitializeIcon( hinstCurrent, nCmdShow)) return 1;
MLScanString( argv, &argv_end, &lpszCmdLine, &buff_start);
return MLMain( (int)(argv_end - argv), argv);
}

#else

int main(int argc, char* argv[])
{
return MLMain(argc, argv);
}

#endif

ただし、ビルド時に、次の出力が得られます。

1>------ Build started: Project: addtwo, Configuration: Debug Win32 ------
1>  Performing Custom Build Tools
1>  on "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VC\bin\mprep.exe" "" -o "D:\Applications\Mathematica\SystemFiles\Links\MathLink\DeveloperKit\Windows\MathLinkExamples\addtwo\addtwo\..\addtwotm.c"
1>addtwo.obj : error LNK2019: unresolved external symbol _MLMain referenced in function _WinMain@16
1>addtwo.obj : error LNK2019: unresolved external symbol _MLInitializeIcon referenced in function _WinMain@16
1>D:\Applications\Mathematica\SystemFiles\Links\MathLink\DeveloperKit\Windows\MathLinkExamples\addtwo\Debug\addtwo.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Wolfram の MathLink 開発者ガイドに記載されているすべての指示に従い、[Linker] > [Input] > [Additional Dependencies] に「ml32i3m.lib」を追加したことを確認しました。ml32/ml64 lib ファイルには、MlMain の情報が含まれていると思われます。どんな助けでも大歓迎です:)

4

0 に答える 0