2013-08-25 186 views
3

我試圖編譯遠程機器上的FLANN,我不是root用戶。爲此,我在家中編譯了cmake並設置了一個別名來調用。我還從網上下載了FLANN,並按照手冊中的建議處理彙編。如何更改MATLAB路徑以使用cmake命令編譯FLANN的mex文件?

mkdir build 
cd build 
cmake .. 
make 

它被編譯時沒有錯誤,但matlab模塊和mex編譯。即使我將matlab bin添加到$ PATH中,它會在cmake ..之後發出以下警告。

... 
CMake Warning at src/matlab/CMakeLists.txt:57 (message): 
    The 'mex' and 'mexext' programs have been found in different locations. 
    It's likely that one of them is not part of the MATLAB instalation. Make 
    sure that the 'bin' directory from the MATLAB instalation is in PATH 
... 

由於此問題,當我執行make MATLAB MEX文件不會被編譯。 即使我嘗試設置一些cmake配置,我也無法以任何方式解決此問題。有沒有建議來處理這個編譯問題?

echo $PATH 
/home/y/bin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin:/usr/local/matlab/bin 

which mex 
/usr/local/bin/mex 

which mexext 
/usr/local/matlab/bin/mexext 
+0

您可以添加這三個命令的輸出:'echo $ PATH','哪個mex',哪個mexext'? –

+0

已經完成@MattB。 – erogol

+1

我通過將matlab路徑放在$ PATH中的第一個位置來解決問題 – erogol

回答

3

另一種解決方案(爲我工作)是爲mexext創建一個符號鏈接 in /usr/local/bin那指向哪裏mexext實際上是找到的。

sudo ln -s /usr/local/MATLAB/R2016a/bin/mexext /usr/local/bin/mexext