您的位置:首页 > 其它

gcc notes

2015-09-01 18:56 267 查看
LD_LIBRARY_PATH
is used for program running,
LIBRARY_PATH
is used for
gcc
when building.

View
gcc
include path:

gcc -E -v -

Variables Used by Implicit Rules

10.3 Variables Used by Implicit Rules

about libraries

Libraries should be assigned in
LDLIBS
, note,
LOADLIBES
is deprecated. Also he order of the libraries linked is important.

As the linker processes each module (be it a library or a object file), it attempts to resolve each undefined symbol while potentially adding to its list of undefined symbols. When it gets to the of the list of modules, it either has resolved all undefined symbols and is successful or it reports undefined symbols.

-

The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again.

Why does the order in which libraries are linked sometimes cause errors in GCC?

Libraries (-lfoo) should be added to the LDLIBS variable not LDFLAGS. Non-library linker flags, such as -L, should go in the LDFLAGS variable.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: