2010-11-02 12 views
10

Visual Studio 2010'u yükledim. Ancak, MATLAB derleyiciyi bulamıyor. Ben soruya n cevap verirsenizVisual Studio 2010 derleyicisini kullanmak için mex'i ayarlama

>> mex -setup 
Please choose your compiler for building external interface (MEX) files: 

Would you like mex to locate installed compilers [y]/n? y 

Select a compiler: 

[0] None 

Compiler: 

, ben

Would you like mex to locate installed compilers [y]/n? n 

Select a compiler: 
[1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker) 
[2] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker) 
[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker) 
[4] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker) 
[5] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker) 
[6] Microsoft Visual C++ 2005 SP1 
[7] Microsoft Visual C++ 2008 Express 
[8] Microsoft Visual C++ 2008 SP1 

[0] None 

Compiler: 8 

The default location for Microsoft Visual C++ 2008 SP1 compilers is C:\Program Files (x86)\Microsoft Visual Studio 9.0, 
but that directory does not exist on this machine. 

Use C:\Program Files (x86)\Microsoft Visual Studio 9.0 anyway [y]/n? n 
Please enter the location of your compiler: [C:\Program Files (x86)\Microsoft Visual Studio 9.0] 

++ MATLAB'ta kullanılabilir hale getirmek için kod benim c derlemek için en kolay yolu nedir şu olsun? Visual C++ 2008'i yükle? oO

cevap

2

1'den fazla senin soruna çalışma yolları ve sadece bir para :)

  1. Alış/yeni Matlab sürümüne yükseltin içerir (R2010b tanır ve VS2010 ile çalışır) vardır.
  2. Tam VS2008 paketini yüklemeniz gerekmez, eski Windows SDK v7.0 yeterlidir. Yüklendikten sonra, matlab bir mbuild -setup yaptığınız zaman tanımalıdır.
  3. Kendiniz önerdiğiniz gibi, VS2008'i yükleyin. İleride

: http://www.mathworks.com/support/compilers/R2010b/index.html

+0

... – Etan

0

Ayrıca mex kullanmadan Matlab için C++ kod kullanılabilir yapabilirsiniz. Matlab harici DLL'leri yükleyebilir ve işlevlerini çağırabilir. Böylece kodunuzu bir DLL'ye sarabilirsiniz ve mex'i tamamen atlayabilirsiniz.

Genellikle, bunu matlab'dan C veya C++ kodunu çağırmanın daha kolay bir yolu olarak buldum. Bunun dezavantajı, mex'in sağladığı matlab veri yapılarını manipüle etmek için tüm olanaklara sahip olmamanızdır. Verileri ileri ve geri aktarabilirsiniz, bazı şeyler daha hantaldır, örneğin bir diziyi C'ye ayırmak ve matlab'a sahipliğini vermek gibi.

+0

Ben [ile mex dosyalarını derleme yordamı öneririm: Eğer R2010a varsa, mevcut bir yama var Visual Studio] (http://www.orangeowlsolutions.com/news) mex dosyalarını doğrudan Visual Studio'ya derlemek için. Prosedür, Visual Studio 2010, Matlab 2010a ve 64bit Intel hedef makine için test edilmiştir. Bu web sayfasından, kendiniz için referans olarak indirebileceğiniz ve kullanabileceğiniz bir "şablon" Visual Studio projesi bulabilirsiniz. Neden sınırlamalar olduğunu söylüyorsun? Visual Studio altındaki tüm mex işlevleriyle mex dosyalarını derleyememenizin bir nedenini hemen bulmuyorum. – JackOLantern