如何用automake 在Makefile 中生成 这样的FLAG “-Wl,-rpath=/usr11111/lib”
换种方式问问题,
如何用automake 在Makefile 中生成 这样的FLAG “-Wl,-rpath=/usr11111/lib”
本来想用命令行来做,像这样:
./configure ... LDFLAGS=...:-Wl,-rpath=/usr11111/lib
可惜实践证明了这样是不行的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
你是不是想要依赖第三方库?比如形如./configure --with-some-libs="mylibpath"?
像这样?
bin_PROGRAMS = tconf
tconf_SOURCES = callback.c main.c parser.c session.c tc.c tcglobal.c wrap.c wizard.c
tconf_LDADD = @GTK_LIBS@ -L. -ltc $(LIBINTL)
像这样?
bin_PROGRAMS = tconf
tconf_SOURCES = callback.c main.c parser.c session.c tc.c tcglobal.c wrap.c wizard.c
tconf_LDADD = @GTK_LIBS@ -L. -ltc $(LIBINTL)
本帖最后由 reer 于 2011-05-10 09:36 编辑
是啊,要依赖第三方的一个动态库,这个库在运行程序(在arm平台上)的时候在 /usr11111/lib/ 下
本帖最后由 bittertea 于 2011-05-10 09:47 编辑
configure.in里用 AC_CHECK_LIB检查依赖,比如:
AC_CHECK_LIB(resolv, inet_aton) , AC_CHECK_LIB检测成功后会追加(LIBS)变量
或者复杂点的:
复制代码以上大部分脚本参考一些autotools做的开源项目. GOOGLE CODE SEARCH--利器
./configure LDFLAGS="-Wl,-rpath=/usr11111/lib"
我这里可以的啊,最后LD的时候带上自设的参数了
本帖最后由 bittertea 于 2011-05-09 18:30 编辑
为什么要手动定义LDFLAGS变量? 直接在configure.in用AC_SUBST导出指定名称的路径, 然后Makefile.am使用这些路径不行么?
to bittertea:
请教具体要怎么做呢?
本帖最后由 reer 于 2011-05-09 19:14 编辑
另外,应该不是手动定义或者自动定义LDFLAGS的问题,而是定义的LDFLAGS格式不对,不能发挥预期的作用![](https://www.wenjiangs.com/wp-content/uploads/chinaunix/202207/icon_smile.gif)
我预期的作用是:
LDFLAGS = -L/home/work/..../lib
LDFLAGS += -Wl,-rpath,/usr11111/lib
其实把-Wl,-rpath,/... 放到LDFLAGS 可能也不对,总之,我是被Makefile 彻底搞死了,大家救命啊!!!
nnd,感觉是被automake 搞了,这套东西还不如直接的makefile来得简单,感觉掌握automake 这一套东西不容易...