2016-09-10 7 views
2

Я пытаюсь связать Qt с SDK камеры Pylon в проекте Qt Creator.Не удалось связать Pylon (Basler) SDK с Qt на Mac

Я устанавливаю приложение приложения для программного обеспечения для пилона с этим pylon for OS X, а рамка пилона устанавливается по адресу /Library/Frameworks/pylon.framework.

Я сначала следую за pylon Programmer's Guide, который установлен с приложением, чтобы связать пилон с Xcode. Он работает отлично.

Затем я пытаюсь установить связь с моим проектом Qt. Я добавляю это в файле .pro:

mac: LIBS += -F/Library/Frameworks/ -framework pylon 

# add GenICam because pylon Programmer's Guide do so 
INCLUDEPATH += /Library/Frameworks/pylon.framework/Headers/GenICam 
DEPENDPATH += /Library/Frameworks 

Но это не работает. Qt не может найти файлы заголовков.

Я также попробовать:

QMAKE_LFLAGS += -F/Library/Frameworks/ 
LIBS += -framework pylon 

, как говорится в документе Using Frameworks. Но все равно не работает. Кто-нибудь поможет мне это исправить? Благодарю.

Update:

Weird является то, что Qt может обнаружить автозаполнение файлы заголовков, но когда он говорит сборки не нашел такого файла. enter image description here

+0

Если ответ на ваш вопрос, пожалуйста, выберите правильный ответ нажав на галочку рядом с голосом – PnotNP

ответ

0

В Xcode есть автоматизм, когда вы вставляете фреймворк, он автоматически включает в себя каталог заголовков используемых фреймворков.

В вашем случае просто добавьте эту строку, и компилятор найдет заголовки пилонов.

QMAKE_CXXFLAGS += -F/Library/Frameworks 

Надеюсь, это поможет вам. С наилучшими пожеланиями

+0

Это может быть не очень хорошо, поскольку заголовки API pylon используют такую ​​форму, как '#include ', что означает, что вы не должны указывать путь заголовка, если вы хотите использовать существующий A ПИ. Поэтому вам нужно связать структуру, а не только файлы head. – Galaxy

+0

Согласно документации Apple. Первая запись, например, #include - это имя фреймворка. См. Также https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/IncludingFrameworks.html#//apple_ref/doc/uid/20002257-BAJJBBHJ –

1

Я просто это ответил here:

A) Если вы компилируете этот пилон рамки с источником, то в этих случаях вам понадобится установка исходного кода, вам нужно пойти в Пилон исходный каталог, например:

<path-to-pylon>/src/include/ 

Вы можете найти каталог, в котором PylonIncludes.h установлен на подножке следующей команды:

find <path-to-Pylon> -name PylonIncludes.h 

Как только вы найдете каталог, например. скажем, /Users/kevin/Pylon5.5, то вы включите следующую строку в свои CMAkeLists.TXT

INCLUDEPATH += /Users/kevin/Pylon5.5/src/include/ 

B) Если у вас есть сама бинарная структура, то вы можете обойти путем копирования всех заголовков в tmporary место под pylon/<all-headers>

cp -rf /Library/Frameworks/pylon.framework/Versions/A/Headers/* /tmp/pylonHeaders/pylon/ Then use following in .pro file 

    INCLUDEPATH += /tmp/pylonHeaders 
    LIBS += -framework pylon