如何导出链接器选项?
Posted
技术标签:
【中文标题】如何导出链接器选项?【英文标题】:how to export linker options? 【发布时间】:2013-03-28 01:56:22 【问题描述】:我几乎可以肯定这是一个骗局,但我什至没有开始研究这个问题的基本词汇。
我有一些g++
链接器标志,我想将它们永久化为export
/etc/bash.bashrc
中的变量。
是否可以为-D_WEBSOCKETPP_CPP11_STL_ -D_WEBSOCKETPP_NO_CPP11_REGEX_ -lboost_regex -lboost_system
执行此操作,就像对于 websocket++ https://***.com/a/15469310/1382306 和 -lmysqlcppconn
mysql 连接器 c++ https://***.com/a/11879650/1382306 的此答案一样?
如果是这样,请告诉我怎么做。如果没有,请告诉我如何开始。
【问题讨论】:
你是用make
编译,还是直接调用g++
?
@teppic g++
直接。感谢您的收看!
啊,make
你可以设置LDFLAGS
。一个选项是创建一个 bash 函数或别名以包含一个执行相同操作的环境变量。
@teppic 谢谢!我会调查的。这是为了纯粹的懒惰。您介意将答案扩展一点吗?
【参考方案1】:
如果您改用make
,则会将各种标准环境变量发送到编译器。一个是LDFLAGS
,比如:
$ export LDFLAGS='-Wl,--print-map'
$ make foo.cpp
g++ -Wl,--print-map foo.cpp -o foo // default rule
[...]
链接器标志必须在 -Wl
之后以逗号分隔传递。
或者,您可以使用适当的环境变量创建别名或 shell 函数来调用 g++
。
【讨论】:
以上是关于如何导出链接器选项?的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 code::blocks 以在目标链接器选项之前链接项目链接器选项?