Mac 上的 Pylon(Basler) SDK 与 Qt 链接失败

问题描述 投票:0回答:2

我正在尝试将 Qt 与 Qt Creator 项目中的 Pylon 相机 SDK 链接。

我从这个 pylon for OS X 安装 pylon 相机软件套件应用程序,并且 pylon 框架安装在

/Library/Frameworks/pylon.framework

我首先按照随应用程序安装的

pylon Programmer's Guide
将 pylon 与 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

如文档使用框架中所述。但仍然不起作用。有人帮我解决这个问题吗?谢谢。

更新:

奇怪的是,Qt 可以检测到头文件的自动完成,但在构建时却说找不到这样的文件。 enter image description here

c++ macos qt qmake
2个回答
1
投票

我刚刚回答了这个问题在这里

A) 如果您使用源代码编译此 Pylon 框架,那么在这些情况下您需要源代码安装,您需要转到您的 Pylon 源码目录,例如:

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

您可以通过以下方式找到 PylonInincludes.h 的安装目录 运行以下命令:

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

找到目录后,例如可以说 /Users/kevin/Pylon5.5 然后您将以下行添加到您的 CMMakeLists.txt

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

B) 如果您本身有二进制框架,那么您可以通过将所有标头复制到

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

0
投票

Xcode 中有一个自动功能,当您插入框架时,它会自动包含所使用框架的头目录。

在您的情况下,只需添加此行,编译器就会找到 pylon 标头。

QMAKE_CXXFLAGS += -F/Library/Frameworks
© www.soinside.com 2019 - 2024. All rights reserved.