如何解决更改通过qmake添加到Makefile中的Makefile中变量的位置
请假设我想将库链接到Stop running the scheme or action
中的程序,为此,我将使用qmake
文件中的以下行:
qmake
(请注意,已确定LIBS+=$${localizer_path}liblocalize.so #1
,其值为localizer_path
)
在使用Ubuntu进行开发时,我必须在some/path
中添加库路径(以便程序可以在运行时找到链接的库),但是由于我想这样做在qmake文件中,因此我使用了以下技巧:
LD_LIBRARY_PATH
以上行QMAKE_LFLAGS += -Wl,--rpath=\\\$\path_to_localizer #2
的内容与path_to_localizer
相同,但是由于该行最终将在$${localizer_path}
中使用,所以我不能直接使用它,因此我添加了一个变量到qmake文件中的Makefile
如下行:
Makefile
现在在生成的QMAKE_EXTRA_VARIABLES = localizer_path #3
中,我可以看到以下行已添加:
Makefile
现在我可以像下面这样使用来自qmake的EXPORT_localizer_path = some/path #4
:
EXPORT_localizer_path
一切正常,除了QMAKE_LFLAGS += -Wl,--rpath=\\\$\$(EXPORT_localizer_path) #2 has changed
位置出现在Makefile中#4
之后,这就像我在初始化之前使用#2
。我想简明扼要,我们可以确定由EXPORT_localizer_path
创建的变量的顺序吗?
注意1:如果我使用绝对路径,那么一切都很好,没有任何问题。
解决方法
我找到了一种解决该问题的新方法,如果我们将全局变量作为lib的路径,那么像下面这样设置rpath
并不是一个好主意:
QMAKE_LFLAGS += -Wl,--rpath=\\\$\CUSTOMPATH
我们可以使用QMAKE_RPATHDIR
代替
QMAKE_RPATHDIR += $${CUSTOMPATH}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。