C++ 我怎么知道“我怎么知道”呢;默认包括目录"&引用;“默认链接目录”;及;“默认链接库”;海湾合作委员会,g++/c++;在Ubuntu 11.04中?
对于以下3种编译情况:C++ 我怎么知道“我怎么知道”呢;默认包括目录"&引用;“默认链接目录”;及;“默认链接库”;海湾合作委员会,g++/c++;在Ubuntu 11.04中?,c++,gcc,C++,Gcc,对于以下3种编译情况: gcc -o helloc hello.c (1) g++ -o hellocpp hello.cpp (2) c++ -o hellocpp hello.cpp (3) 如何知道每种情况下的“默认包含目录”、“默认链接目录”和“默认链接库”?我在32位Ubuntu 11.04环境中使用GCC4.5.2 对于案例(1),gcc使用的是标准C库还是GNUC库?这两个C库之
gcc -o helloc hello.c (1)
g++ -o hellocpp hello.cpp (2)
c++ -o hellocpp hello.cpp (3)
如何知道每种情况下的“默认包含目录”、“默认链接目录”和“默认链接库”?我在32位Ubuntu 11.04环境中使用GCC4.5.2
对于案例(1),gcc使用的是标准C库还是GNUC库?这两个C库之间有区别吗
比较案例(2)和案例(3),编译器使用的“默认链接库”有什么不同吗?他们使用标准的C++库还是GNU C++库?两个C++库之间的区别是什么?
提前谢谢你的建议
Lawrence Tsang说
gcc-v
,或g++-v
,打印有关环境的详细信息
例如,对我来说,这表示:
#include <...> search starts here:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2
/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/i686-pc-linux-gnu
/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.2/../../../../include/c++/4.6.2/backward
/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.2/include
/usr/local/include
/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.2/include-fixed
/usr/include
#包含搜索从这里开始:
/usr/local/lib/gcc/i686 pc-linux-gnu/4.6.2/../../../../../../../../../include/c++/4.6.2
/usr/local/lib/gcc/i686 pc-linux-gnu/4.6.2/../../../../../../../../include/c++/4.6.2/i686-pc-linux-gnu
/usr/local/lib/gcc/i686 pc linux gnu/4.6.2/../../../../../../../include/c++/4.6.2/backward
/usr/local/lib/gcc/i686 pc linux gnu/4.6.2/include
/usr/本地/包括
/usr/local/lib/gcc/i686 pc linux gnu/4.6.2/include-fixed
/usr/包括
另外,请尝试
gcc-dumpspecs
查看工具链中调用的工具的详细信息。Kerrek SB的答案在Ubuntu 12.04上对我不太适用,但这似乎是可行的:
cpp-v
在底部,我得到了以下信息:
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include
/usr/本地/包括
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include-fixed
/usr/include/x86_64-linux-gnu
/usr/包括
搜索列表结束。
include headers path | | libraries path这需要一个文件来编译。所以仅仅运行g++-v
是行不通的。它必须是g++-vsomefile.cpp
,作为一个函数,您可以尝试echo | gcc-E-Wp,-v-
。