????本人對linux下的各種頭文件、lib什么找不到從來都是一頭霧水貌亭。這兩天偶然要run一個(gè)項(xiàng)目柬唯,又遇到類似一個(gè)類似的問題,索性以這個(gè)問題為代表圃庭,認(rèn)真總結(jié)一下相關(guān)的知識或者問題锄奢。
????hdf5.h no such file or directory.我的項(xiàng)目背景在于編譯一個(gè)c和matlab混合編程的工程,其中用到hdf5 library , hdf5-dev 等剧腻。本文apt-get install完成hdf5 的安裝拘央,并且example完成測試后,再行編譯工程代碼书在,出現(xiàn)no such file提示灰伟。
? ? 根據(jù)計(jì)算機(jī)編譯的相關(guān)常識都知道,這個(gè)問題根源就如提示的那樣蕊温,找不到那個(gè)文件袱箱,那么這個(gè)問題有兩個(gè),第一就是本機(jī)根本就沒有這個(gè)文件义矛,也就是沒裝发笔,另外一個(gè)就是裝了,但卻沒在默認(rèn)搜索路徑中凉翻。這個(gè)默認(rèn)搜索路徑了讨,在window系統(tǒng)下就是環(huán)境變量、系統(tǒng)變量這些制轰,在linux下就是/etc/profile那個(gè)文件前计。所以一般如果可以確定系統(tǒng)裝了這個(gè)文件,那么剩下的就是找到文件所在路徑垃杖,加入到環(huán)境變量中就行男杈。加入示例其一如下:
export hdf5=/usr/local/hdf5
export PATH=$PATH:$hdf5/bin
#gcc找到頭文件的路徑(c編譯器)
C_INCLUDE_PATH=$hdf5/include
export C_INCLUDE_PATH
#g++找到頭文件的路徑(c++編譯器)
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$hdf5/include
export CPLUS_INCLUDE_PATH
#找到動態(tài)鏈接庫的路徑
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$hdf5/include
export LD_LIBRARY_PATH
#找到靜態(tài)庫的路徑
LIBRARY_PATH=$LIBRARY_PATH:$hdf5/include
export LIBRARY_PATH