llvm
详解三大编译器:gcc、llvm 和 clang | libicon库链接问题一则
查找iconv相关符号表 nm /lib64/libstdc++.so | grep iconv 查找依赖库 ldd test_cond verbose查看详细编译信息, 分析库文件查找过程 gcc -g -o test test.c -liconv -v 查看环境变量 env #显示所有环境变量 env | grep LD_LIBRARY_PATH echo $HOME export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64 readelf https://stackoverflow.com/questions/13334300/how-to-build-and-install-gcc-with-built-in-rpath 查看头文件目录查找顺序 gcc test.cpp -v #include "..." search starts here: #include <...> search starts here: /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../include/c++/11.2.0 /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../include/c++/11.2.0/x86_64-pc-linux-gnu /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../include/c++/11.2.0/backward /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include /usr/local/include /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include-fixed /usr/include End of search list. gcc默认链接的库: -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/lib/gcc/x86_64-pc-linux-gnu/11.2.0/crtend.o /lib/../lib64/crtn.o 查看目标文件与库的链接选项及顺序: ld -verbose | grep SEARCH SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib");