VS2008和MATLAB2010b混合编程有关问题 error LINK2028 恳请指教!
VS2008和MATLAB2010b混合编程问题 error LINK2028 恳请大虾指教!!
我用VS写了一个控制台应用程序调用matlab生成的dll,调试成功,结果正确
但是我用VS写了一个窗体程序之后,【无语法及基本错误】但是在调用dll时总出现errorLINK,主要是mxArray,mxCreatString, mclInitializeApplication无法识别
我已经将所有该添加的库,还有包含路径都设置好了,【不然控制台程序不可能编译通过】
我的电脑是32位的,也不存在操作系统不同的问题。
好苦恼!!
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000024) "extern "C" struct mxArray_tag * __clrcall mxCreateString_proxy(char const *)" (?mxCreateString_proxy@@$$J0YMPAUmxArray_tag@@PBD@Z),该标记在函数 "private: void __clrcall ICPForWin::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@ICPForWin@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000028) "extern "C" bool __clrcall mclInitializeApplication_proxy(char const * *,unsigned int)" (?mclInitializeApplication_proxy@@$$J0YM_NPAPBDI@Z),该标记在函数 "private: void __clrcall ICPForWin::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@ICPForWin@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000114) "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPAVarray_ref@@PAV1@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000128) "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPBDPAVchar_buffer@@@Z),该标记在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQBMPBDXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012A) "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPAVchar_buffer@@PBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012B) "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPAPAXPBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012F) "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPAPAX@Z),该标记在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000130) "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPBDPAVerror_info@@@Z),该标记在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUBMPBDXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000131) "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPAVref_count_obj@@@Z),该标记在函数 "public: virtual __clrcall mwException::~mwException(void)" (??1mwException@@$$FUAM@XZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000132) "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPAVref_count_obj@@@Z),该标记在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000133) "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPAPAXPBD@Z),该标记在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQAM@XZ) 中被引用
我用VS写了一个控制台应用程序调用matlab生成的dll,调试成功,结果正确
但是我用VS写了一个窗体程序之后,【无语法及基本错误】但是在调用dll时总出现errorLINK,主要是mxArray,mxCreatString, mclInitializeApplication无法识别
我已经将所有该添加的库,还有包含路径都设置好了,【不然控制台程序不可能编译通过】
我的电脑是32位的,也不存在操作系统不同的问题。
好苦恼!!
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000024) "extern "C" struct mxArray_tag * __clrcall mxCreateString_proxy(char const *)" (?mxCreateString_proxy@@$$J0YMPAUmxArray_tag@@PBD@Z),该标记在函数 "private: void __clrcall ICPForWin::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@ICPForWin@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000028) "extern "C" bool __clrcall mclInitializeApplication_proxy(char const * *,unsigned int)" (?mclInitializeApplication_proxy@@$$J0YM_NPAPBDI@Z),该标记在函数 "private: void __clrcall ICPForWin::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@ICPForWin@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000114) "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPAVarray_ref@@PAV1@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000128) "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPBDPAVchar_buffer@@@Z),该标记在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQBMPBDXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012A) "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPAVchar_buffer@@PBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012B) "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPAPAXPBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A00012F) "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPAPAX@Z),该标记在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000130) "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPBDPAVerror_info@@@Z),该标记在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUBMPBDXZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000131) "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPAVref_count_obj@@@Z),该标记在函数 "public: virtual __clrcall mwException::~mwException(void)" (??1mwException@@$$FUAM@XZ) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000132) "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPAVref_count_obj@@@Z),该标记在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQAM@ABV0@@Z) 中被引用
1>ICPForWin.obj : error LNK2028: 无法解析的标记(0A000133) "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPAPAXPBD@Z),该标记在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQAM@XZ) 中被引用