簡體   English   中英

我如何要求 GCC 使用不同的標准庫?

[英]How can I ask GCC to use a different standard library?

我在/usr/lib/debug/usr/lib/x86_64-linux-gnu/有一個libstdc++ 6 的調試版本。 我想告訴 gcc/g++ 使用這個庫而不是沒有調試符號的標准庫版本。 我嘗試使用-nostdlib並使用-L顯式傳遞庫路徑,但出現鏈接錯誤,例如

/usr/bin/ld: CMakeFiles/tst_elfmap.dir/perfparser/tests/auto/elfmap/tst_elfmap.cpp.o: undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line

對於安裝在我的系統上的 libstdc++ 的調試和發布版本,庫版本(根據文件名)似乎是相同的:

lrwxrwxrwx 1 root 19 Oct  4  2019 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.21

您應該使用LD_LIBRARY_PATH環境變量,例如:

export LD_LIBRARY_PATH=/usr/lib/debug/usr/lib/x86_64-linux-gnu/

此變量可用於更改動態鏈接器搜索路徑,因此,將沿LD_LIBRARY_PATH搜索libstdc++ ,而不是在系統的庫路徑中搜索libstdc++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM