【发布时间】:2012-01-14 17:05:58
【问题描述】:
我正在尝试使用 gcc 在 ubuntu 上创建一个共享库
我只有一个简单的类(shared.h 和 shared.cpp)和一个使用它的客户端(main.cpp)
这是我的 makefile,我仍然无法编译程序。
all:
#compile object(fPIC: creates position independent code)
gcc -fPIC -Wall -g -c shared.cpp
#compile shared library
gcc -shared -Wl,-soname,libshared.so.1 -o libshared.so.1.0.1 shared.o -lc
#link shared library
gcc -g -o main main.cpp -L. -lshared
- 我确信第一行是正确的
- 我不确定“-lc”的作用。我认为它将某些东西传递给链接器?
-
我不想安装库,我只想能够从当前目录链接它。我试过了:
export LD_LIBRARY_PATH=.
但这似乎没有什么不同。一切都在当前目录中。错误:/usr/bin/ld: 找不到 -lshared
如何让编译器检查我的库的当前目录?
【问题讨论】: