0. 寫在最前面
自己在編譯一個程序的時候遇到了這個問題。搜索網上的一些答案,很多都說得不詳,或者解決辦法不好。最後找到了stackoverflow的一個問題,終於解決了,在此分享一下,避免大家走彎路。有幫助到你的話點個贊或者關注唄~~~
1. 解決辦法
究其原因,就是編譯器找不到這個頭文件了,首先要確保你已經安裝了Eigen3.
Eigen其實只是一個純頭文件的庫,你直接安裝放到include目錄就好。
到官網下載一個穩定的版本,然後解壓放到/usr/local/include
或者/usr/include
目錄即可。
或者通過apt安裝:sudo apt-get install libeigen3-dev
。
出現這個問題主要是因爲eigen3的文件結構導致的:
如圖,編譯器會直接去/usr/local/include
或者/usr/include
目錄找頭文件,但是找到的是eigen3,並沒有Eigen和unsupported。所以我們可以建立一個軟連接到這兩個文件夾。
#要先確定你的Eigen安裝在/usr/local/include還是/usr/include
cd /usr/local/include
sudo ln -sf eigen3/Eigen Eigen
sudo ln -sf eigen3/unsupported unsupported
修改完後即可。
參考
https://stackoverflow.com/questions/23284473/fatal-error-eigen-dense-no-such-file-or-directory
喜歡我的文章的話Star一下唄Star
版權聲明:本文爲白夜行的狼原創文章,未經允許不得以任何形式轉載