0
A
回答
1
如果您正在使用的Autoconf及Automake,那么你应该能够连接标志通过在编译时要使用如下:
make LDFLAGS='-L/my/nonstandard/prefix/lib' target
此外,您可以为CC做到这一点,CFLAGS,CPP ,CPPFLAGS和LIBS。例如:
make CC=gcc-4.2 \
LIBS='-lmylibrary -lhislib ../lib/libcustom.a' \
LDFLAGS='-L/opt/vend/lib' \
CPPFLAGS='-I../include' \
CFLAGS='-Wall' \
target
如果你想使他们在make文件永久,添加他们到automake的变量:
AM_LIBS = -lmylibrary -lhislib ../lib/libcustom.a
AM_LDFLAGS = -L/opt/vend/lib
AM_CPPFLAGS = -I../include
AM_CFLAGS = -Wall
使用上述变量,将仍然允许你通过传递添加标志他们使用以前的方法。
1
有些连接器可以选择在链接时忽略未解析的符号 - 只要您确定该库将在加载时间可用。例如,对于GNU ld,存在:--unresolved-symbols
,其中诸如--unresolved-symbols=ignore-in-shared-libs
之类的选项可能是合适的。 OS X(Mach-O)连接器有:-undefined <error|warning|suppress|dynamic_lookup>
当运行一个程序时,所有符号必须由动态连接器/加载程序解析。
这不应该与dynamic loading工具混淆,它需要您在运行时加载库,并为给定的函数名称获取函数指针或句柄。
对于程序'prog'
,您可以在Makefile.am
中添加额外的标记prog_LDFLAGS
。
相关问题
- 1. configure.ac和configure.in以及Makefile.am和Makefile.in之间的区别是什么?
- 2. 如何为freeglut编写configure.ac和Makefile.am?
- 3. 网站 - 是否可以在中心位置设置链接?
- 4. 是否可以在脚本中设置python -O(优化)标志?
- 5. 是否可以在Android中设置图片而不是文本
- 6. C++链接和编译标志
- 7. 是否可以在HPUX上使用gcc编译/链接到occi?
- 8. 它是安全的链接到不同的编译器标志
- 9. 是否有编译iPad时设置的特定Xcode编译器标志?
- 10. 是否可以链接.all()而不是使用Promise.all()?
- 11. 是否可以使用gold linker编译并链接Clang/LLVM?
- 12. 在jqgrid中,是否可以使用select formatter而不设置editoptions?
- 13. gcc是否可以不编译代码?
- 14. 是否可以将.c和.cpp(来自openCV)编译并链接在一起?
- 15. AngularJS - 是否有可能从代码编译和链接模板?
- 16. 链接是否可以链接到csrf?
- 17. 是否可以在C(而不是C++)中编写node.js扩展?
- 18. 是否可以使用编译设置USE_CUDNN:= 1的CPP代码?
- 19. 如何在ember-cli中设置标志,而不是环境?
- 20. 是否可以在Linux上编译VST?
- 21. 是否可以提交而不显示在日志中?
- 22. Python 27可以使用VC110编译而不是* VC90编译?
- 23. 编译器内是否有预编译IPV6的标志
- 24. 在C中设置一个指针为NULL,而不是编译
- 25. 是否可以在window.onPopState中设置e.preventDefault?
- 26. 是否可以在web.config中设置ObjectContext.CommandTimeout?
- 27. 是否可以在FileStream中设置BufferSize?
- 28. 是否可以在AVCaptureVideoDataOutput中设置AVCaptureSessionPresetPhoto?
- 29. 从autotools中删除编译器/链接器标志配置
- 30. 是否可以使用iframe而不链接另一页
'AM_LIBS' does not exist。 – DanielKO
prog_LDADD在AM_LIBS的位置完成任务似乎并不存在。 – innoSPG
@DanielKO使用基本的Makefile.am,您是正确的,但只需将行添加到目标宏之前的Makefile.am即可。 –