這篇文章將為大家詳細講解有關boost庫鏈接出錯怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
薩爾圖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、自適應網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
安裝完最新的Boost庫
官方說明中有一句話:
Finally,
$ ./b2 install
will leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boost headers in the include/ subdirectory of the installation prefix, so you can henceforth use that directory as an #include path in place of the Boost root directory.
大部分Boost庫無需動態(tài)或靜態(tài)編譯鏈接,小部分如regex thread coroutine之類的庫在編譯自己的源代碼時需要加入鏈接提示
比如在編譯使用regex的庫時命令如下:
c++ -I /usr/local/include/boost/ main.cpp -o test1 -L /usr/local/lib -lboost_regex
完成后運行時:
LD_LIBRARY_PATH="/usr/local/lib" ./test1
否則會報錯:
errorwhile loading shared libraries: libboost_regex.so.1.64.0: cannot open shared object file: No such file or directory
這個錯誤在stackoverflow上給的解釋是:
The library cannot be found.
Libraries are by default looked for in /lib, /usr/lib and the directories specified by /etc/ld.so.conf.
Usually system libraries (like boost, if you installed it via your package manager) are located in /usr/lib, but it's probably not your case.
Where are your boost libraries located on your system? Did you compile them by yourself? In this case you should tell the dynamic linker to look for your libraries in the directory they're located by using the LD_LIBRARY_PATH environment variable:
LD_LIBRARY_PATH="your/boost/directory" ./testfgci
I'd suggest you to install boost libraries using your package manager, anyway, this will make your life a lot simpler.
也就是說系統(tǒng)在運行程序時要先加載動態(tài)庫,系統(tǒng)的搜尋目錄在/etc/ld.so.conf或者/etc/ld.so.conf.d/*.conf中,而該目錄中沒有鏈接庫所在的位置,要在該文件中手動加入目錄地址或者在運行程序之前指定LD_LIBRARY_PATH的值
這樣才能正確識別動態(tài)庫
關于“boost庫鏈接出錯怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)頁名稱:boost庫鏈接出錯怎么辦
鏈接分享:http://jinyejixie.com/article30/ippdso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、外貿建站、面包屑導航、ChatGPT、小程序開發(fā)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)