[問題] vc2008呼叫Matlab的設定問題已回收

看板MATLAB作者 (雲伴風 風隨雲)時間14年前 (2010/02/10 11:31), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
前幾天有網友有po心得,但他用的是vc6.0,我用的是 Visual Studio 2008 64bits,設定上一直搞不定,希望 有經驗的網友指點一下,我的OS是 Vista 64 bits,Matlab 版本是 R2009a,目前已經做了下列的設定: 在Visual Studio內: 工具/選項/專案和方案/VC++目錄 切換到 "Include 檔案",新增: C:\Program Files\MATLAB\R2009a\extern\include C:\Program Files\MATLAB\R2009a\extern\include\win64 C:\Program Files\MATLAB\R2009a\simulink\include 工具/選項/專案和方案/VC++目錄 切換到 "程式庫檔",新增: C:\Program Files\MATLAB\R2009a\extern\lib\win32\microsoft C:\Program Files\MATLAB\R2009a\extern\lib\win64\microsoft C:\Program Files\MATLAB\R2009a\lib\win64 ("Win32" 與 "x64" 兩個平台都有設定) 專案/屬性/組態屬性/連結器/輸入/其他相依性 加入: Libmx.lib libmex.lib libeng.lib libmat.lib 連結器/命令列 加入: Libmx.lib libmex.lib libeng.lib libmat.lib ("Win32" 與 "x64" 兩個平台的debug與release都有設定) 環境變數/系統變數/PATH 加入: C:\Program Files\MATLAB\R2009a\bin\win64\ 再設定"環境變數/使用者變數 加入: C:\Program Files\MATLAB\R2009a 在Windows Form專案的Form1.h內,加入: #include "engine.h" //到這裡是ok的,有include進來 Engine *m_pEngine; //到這裡沒有錯誤,但有警告,如下: warning LNK4248: 無法解析的 typeref 語彙基元 (0100004D) (對 'engine' 而言),映像可能無法執行 m_pEngine = engOpen(NULL); //到這裡就有3個錯誤了,如下: error LNK2031: 無法對 "extern "C" struct engine * __clrcall engOpen(char const *)" (?engOpen@@$$J0YMPEAUengine@@PEBD@Z) 產生 p/invoke,中繼資料中遺漏呼叫慣例 error LNK2020: 無法解析的語彙基元 (0A00001E) "extern "C" struct engine * __clrcall engOpen(char const *)" (?engOpen @@$$J0YMPEAUengine@@PEBD@Z) error LNK2001: 無法解析的外部符號 "extern "C" struct engine * __clrcall engOpen(char const *)" (?engOpen@@$$J0YMPEAU engine@@PEBD@Z) 這是代表還有哪裡沒設定好嗎??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.104.101 ※ 編輯: bbbbbbjeff 來自: 112.104.104.101 (02/10 11:35)

02/10 19:33, , 1F
自問自答,已經解決了,原來還差最後一步,要設支援clr
02/10 19:33, 1F
文章代碼(AID): #1BSYYGPI (MATLAB)