【发布时间】:2014-07-25 15:13:47
【问题描述】:
我有以下 CMakeLists.txt:
set( PROJECT_LINK_LIBS lib1.so lib2.so )
link_directories( path/to/libs ) # lib1.so and lib2.so are there.
add_library( ${PROJECT_NAME} SHARED ${PROJECT_SOURCES} )
target_link_libraries( ${PROJECT_NAME} ${PROJECT_LINK_LIBS} )
编译和链接都很好。
但是当我这样做时:
ldd -d mylib.so
我明白了:
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf529b000)linux-gate.so.1 => (0xf777a000)/lib/ld-linux.so.2 (0xf777b000)lib1.so => /path/to/libs/lib1.so (0xf56a2000)lib2.so => /path/to/libs/lib2.so (0xf548f000)
我的问题是:
- 如何为 4. 和 5. 删除 /path/to/libs/? 与 LD_LIBRARY_PATH 有什么关系?
-
自动回答: 我明白什么意思 1. 在该路径中搜索 libc.so.6。但是 2. 和 3. 呢?
locate linux-gate.so.1什么也没给。为什么 3. 没有 => 符号? (找到答案here)
【问题讨论】: