0

dll を matlab にロードします。

[met,b]=loadlibrary([geodesic_library '.dll'], hfile);

次に、次のように dll から関数を呼び出します。

[id, tmp1, tmp2, num_edges, edges] = calllib(geodesic_library, 'new_mesh', length(p)/3, p, length(t)/3, t, 1, tmp);

これによりエラーが発生します

Method was not found. 

ただし、ライブラリのメソッドを見ると、メソッドが存在することがはっきりとわかります。

met = 
  Columns 1 through 4
    'new_mesh'    'new_algorithm'    'delete_algorithm'    'delete_mesh'
  Columns 5 through 8
    'propagate'    'trace_back'    'distance_and_source'    [1x36 char]

の内容もここにありますb

geodesic_matlab_api.h
geodesic_release_thunk_pcwin64.c
   Creating library geodesic_release_thunk_pcwin64.lib and object geodesic_release_thunk_pcwin64.exp

しかし、私が呼び出すM = libfunctions([geodesic_library '.dll']と、それMは空です。

私は元の作者のサンプル コードを使用していますが、これは機能するはずです。唯一のことは、C++ コードを 64 ビット DLL に再コンパイルしたことです。

4

0 に答える 0