Visual C++ 2008 SP1 で非常に単純なプログラムを作成しました。2 つの数値を加算するだけです。DLLTest.cpp は次のとおりです。
#include "DllTest.h"
__declspec(dllexport) double Add(double a, double b)
{
return( a + b );
}
そして DllTest.h は次のとおりです。
#ifndef _DLL_TEST_H_
#define _DLL_TEST_H_
#endif
__declspec(dllexport) double Add( double, double);
Visual C++ 2008 を使用して DLL をビルドします。 を使用してライブラリをロードしようとするとloadlibrary
、次のエラーが発生します。
??? 422 での ==> loadlibrary の使用エラー DllTest_thunk_pcwin64 のビルドに失敗しました。コンパイラ出力: DllTest_thunk_pcwin64.c C:\Users\Admin\Desktop\DllTest.h(5) : エラー C2054: '(' が 'EXPORTED_FUNCTION' に続くと予想されます C:\Users\Admin\Desktop\DllTest.h(5) : エラー C2085: 'Add': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(40): エラー C2085: 'int8': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(41): エラー C2085: 'uint8': 仮パラメーターにありませんリスト DllTest_thunk_pcwin64.c(42): エラー C2085: 'int16': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(43): エラー C2085: 'uint16': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(44): エラー C2085: ' int32': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(45): エラー C2085: ' uint32': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(46): エラー C2085: 'int64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(47): エラー C2085: 'uint64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c( 48): エラー C2085: 'voidPtr': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(49): エラー C2085: 'string': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(51): エラー C2082: 仮パラメータ 'EXPORTED_FUNCTION の再定義' DllTest_thunk_pcwin64.c(51): エラー C2143: 構文エラー: ';' がありません 'type' DllTest_thunk_pcwin64.c(52) の前: エラー C2085: 'EXPORTED_FUNCTIONdoubledoubledoubleThunk': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(52): エラー C2143: 構文エラー: ';' がありません 前 '{' : 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(46): エラー C2085: 'int64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(47): エラー C2085: 'uint64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(48) : エラー C2085: 'voidPtr': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(49): エラー C2085: 'string': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(51): エラー C2082: 仮パラメータ 'EXPORTED_FUNCTION' の再定義 DllTest_thunk_pcwin64 .c(51): エラー C2143: 構文エラー: ';' がありません 'type' DllTest_thunk_pcwin64.c(52) の前: エラー C2085: 'EXPORTED_FUNCTIONdoubledoubledoubleThunk': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(52): エラー C2143: 構文エラー: ';' がありません 前 '{' : 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(46): エラー C2085: 'int64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(47): エラー C2085: 'uint64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(48) : エラー C2085: 'voidPtr': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(49): エラー C2085: 'string': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(51): エラー C2082: 仮パラメータ 'EXPORTED_FUNCTION' の再定義 DllTest_thunk_pcwin64 .c(51): エラー C2143: 構文エラー: ';' がありません 'type' DllTest_thunk_pcwin64.c(52) の前: エラー C2085: 'EXPORTED_FUNCTIONdoubledoubledoubleThunk': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(52): エラー C2143: 構文エラー: ';' がありません 前 '{' 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(46): エラー C2085: 'int64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(47): エラー C2085: 'uint64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(48):エラー C2085: 'voidPtr': 正式パラメーター リストにありません DllTest_thunk_pcwin64.c(49): エラー C2085: 'string': 正式パラメーター リストにありません DllTest_thunk_pcwin64.c(51): エラー C2082: 正式パラメーター 'EXPORTED_FUNCTION' DllTest_thunk_pcwin64 の再定義。 c(51): エラー C2143: 構文エラー: ';' がありません 'type' DllTest_thunk_pcwin64.c(52) の前: エラー C2085: 'EXPORTED_FUNCTIONdoubledoubledoubleThunk': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(52): エラー C2143: 構文エラー: ';' がありません 前 '{' 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(46): エラー C2085: 'int64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(47): エラー C2085: 'uint64': 仮パラメータ リストにありません DllTest_thunk_pcwin64.c(48):エラー C2085: 'voidPtr': 正式パラメーター リストにありません DllTest_thunk_pcwin64.c(49): エラー C2085: 'string': 正式パラメーター リストにありません DllTest_thunk_pcwin64.c(51): エラー C2082: 正式パラメーター 'EXPORTED_FUNCTION' DllTest_thunk_pcwin64 の再定義。 c(51): エラー C2143: 構文エラー: ';' がありません 'type' DllTest_thunk_pcwin64.c(52) の前: エラー C2085: 'EXPORTED_FUNCTIONdoubledoubledoubleThunk': 仮パラメーター リストにありません DllTest_thunk_pcwin64.c(52): エラー C2143: 構文エラー: ';' がありません 前 '{'
Visual C++ で記述された単純なプログラムを MATLAB にロードしたいだけです。この問題を解決するにはどうすればよいですか?