Qt 更改通过qmake添加到Makefile的Makefile中变量的位置
我想将库链接到Qt 更改通过qmake添加到Makefile的Makefile中变量的位置,qt,ubuntu,qmake,Qt,Ubuntu,Qmake,我想将库链接到qmake中的程序,因此我将在qmake文件中使用以下行: LIBS+=$${localizer_path}liblocalize.so #1 (请注意,localizer\u path已确定,其值为some/path) 当我使用Ubuntu进行开发时,我必须在LD_library_路径中包含库路径(以便程序可以在运行时找到链接的库),但我想将其放入qmake文件中,因此我使用了以下技巧: QMAKE_LFLAGS += -Wl,--rpath=\\\$\path_to_lo
qmake
中的程序,因此我将在qmake
文件中使用以下行:
LIBS+=$${localizer_path}liblocalize.so #1
(请注意,localizer\u path
已确定,其值为some/path
)
当我使用Ubuntu进行开发时,我必须在LD_library_路径中包含库路径(以便程序可以在运行时找到链接的库),但我想将其放入qmake文件中,因此我使用了以下技巧:
QMAKE_LFLAGS += -Wl,--rpath=\\\$\path_to_localizer #2
在上面的path\u to\u localizer
行中,内容与$${localizer\u path}
相同,但由于该行最终将在Makefile
中使用,我无法直接使用它,因此我从qmake文件向Makefile
添加了一个变量,如下所示:
QMAKE_EXTRA_VARIABLES = localizer_path #3
现在,在生成的Makefile
中,我可以看到下面的一行添加了:
EXPORT_localizer_path = some/path #4
现在,我可以使用qmake中的EXPORT\u localizer\u path
,如下所示:
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$(EXPORT_localizer_path) #2 has changed
一切正常,除了在Makefile中的#2
之后出现#4
位置,就像我在初始化它之前使用导出本地化器路径一样。我想简明扼要地说,我们能确定由QMAKE_EXTRA_VARIABLES
创建的变量的顺序吗
注1:如果我使用绝对路径,那么一切都没有问题。我找到了一种处理问题的方法:如果我们使用全局变量作为库的路径,那么设置rpath
不是一个好主意,如下所示:
QMAKE_LFLAGS += -Wl,--rpath=\\\$\CUSTOMPATH
相反,我们可以使用QMAKE\u RPATHDIR
:
QMAKE_RPATHDIR += $${CUSTOMPATH}