【发布时间】:2015-08-06 10:49:58
【问题描述】:
假设我有这个:
../project_dir
main.cpp
mylib.cpp
mylib.h
构建步骤将是:
g++ -c mylib.cpp -o mylib.o
g++ -shared -o libmylib.so mylib.o
g++ -L$(pwd) -Wl,-rpath='$ORIGIN' -o exec main.cpp -lmylib
exec 将是我的二进制可执行输出。当我测试时:
ldd exec
输出行是:
libmylib.so => /full/path/to/build/directory/libmylib.so (0x00007f75fdd1f000)
那条输出线是我的问题,是否可以得到:
libmylib.so => ./libmylib.so
所以每当我移动可执行文件时,我都可以移动共享库。如果可能的话,如何用cmake做到这一点?
【问题讨论】:
标签: c++ cmake shared-libraries