我启动了一个程序,其中包含一个库(IDA)
/home/MYUSERNAME/EB/IDA/Earlybite/
图书馆 IDA 有两个文件夹:
/home/MYUSERNAME/EB/IDA/IDA/Includes/ (for h-file)
/home/MYUSERNAME/EB/IDA/IDA/Libs/ (for so-files)
这是有效的链接:
LIBS += -L$$PWD/../IDA/Libs/ -Wl,-rpath=$$PWD/../IDA/Libs/ -lIDA -ldl -lpthread -lrt
INCLUDEPATH += $$PWD/../IDA/Includes/
问题是 PWD 只显示 Earlybite 开始的路径。在这种情况下
/home/MYUSERNAME/EB/IDA/Earlybite/
,但是如果程序在 /home/MYUSERNAME/EB/IDA/
...中启动,则链接将不起作用。
所以我尝试与 HOME 环境变量链接。例如
LIBS += -L$$HOME/EB/IDA/IDA/Libs/ -Wl,-rpath=$$HOME/EB/IDA/IDA/Libs/ -lIDA -ldl -lpthread -lrt
INCLUDEPATH += $$HOME/EB/IDA/IDA/Includes/
但这不起作用。
我也试过
LIBS += -L/home/$$USER/EB/IDA/IDA/Libs/ -Wl,-rpath=/home/$$USER/EB/IDA/IDA/Libs/ -lIDA -ldl -lpthread -lrt
INCLUDEPATH += /home/$$USER/EB/IDA/IDA/Includes/
但这也行不通。(我也用一个 $ 和两个 $ 符号尝试了每一次尝试......)