Я работаю над проектом в Qt, который использует несколько внешних библиотек, и мне интересно, есть ли общий способ сделать источник несколько переносимым между разными машинами.Лучшая практика для хранения внешних библиотек в Windows Qt Project
В настоящее время у меня есть различные библиотеки, добавленные в проект через Qt Creator (Добавить библиотеку ...), которая использует относительные пути в .pro-файле. Это, очевидно, не только перестает работать, как только я перемещаю проект, но также не работает на других машинах, если какой-либо из путей библиотеки изменяется. Использование абсолютных путей решает только часть проблемы, так как мне все еще нужно убедиться, что каждая библиотека на каждой машине находится точно под одним и тем же путем.
Чтобы дать вам пример, вот часть беспорядок мой .pro файл в данный момент:
LIBS += -L"c:/Program Files/Microsoft SDKs/Kinect/v1.7/lib/x86/" -lKinect10
win32 {
INCLUDEPATH += "c:/Program Files/Microsoft SDKs/Kinect/v1.7/inc"
DEPENDPATH += "c:/Program Files/Microsoft SDKs/Kinect/v1.7/inc"
}
LIBS += -ladvapi32 \
-lgdi32
INCLUDEPATH += "$$PWD/../../../../../Libraries/PCL 1.6.0/include/pcl-1.6"
DEPENDPATH += "$$PWD/../../../../../Libraries/PCL 1.6.0/include/pcl-1.6"
INCLUDEPATH += "C:/Libraries/PCL 1.6.0/3rdParty/Boost/include"
DEPENDPATH += "C:/Libraries/PCL 1.6.0/3rdParty/Boost/include"
LIBS += -L"$$PWD/../../../../../Libraries/PCL 1.6.0/3rdParty/Boost/lib/" -llibboost_date_time-vc100-mt-gd-1_49
LIBS += -L"$$PWD/../../../../../Libraries/PCL 1.6.0/lib/" -lpcl_visualization_debug
LIBS += -L"$$PWD/../../../../../Libraries/opencv/build/x86/vc10/lib/" -lopencv_core245
INCLUDEPATH += "$$PWD/../../../../../Libraries/opencv/include"
DEPENDPATH += "$$PWD/../../../../../Libraries/opencv/include"
Какой самый лучший способ организовать это?
Не можете ли вы иметь их в своем проекте, как в сторонней папке, например, Qt хранит сторонние источники? – lpapp
Возможно, но что, если у меня есть несколько проектов, использующих одни и те же библиотеки? Кроме того, некоторые из библиотек используют инсталляторы и всегда попадают в «Program Files/...», следует ли перенести файлы, которые мне нужны, в мои проекты? Мне просто интересно, что такое обычная практика в таких случаях, если кто-то работает над проектом с нескольких машин. – jaho