我尝试在MacOS虚拟机上使用Qwt和CMake来构建应用程序。
我使用brew安装了Qt5和Qwt:
brew install qt5 qwt
结果是安装Qwt框架。
标题在那里:
/usr/local/Cellar/qwt/6.1.4/lib/qwt.framework/Versions/6/Headers/qwt.h
图书馆在这里
file /usr/local/Cellar/qwt/6.1.4/lib/qwt.framework/qwt
/usr/local/Cellar/qwt/6.1.4/lib/qwt.framework/qwt: Mach-O 64-bit dynamically linked shared library x86_64
使用qmake在buid中很容易使用它
LIBS+= -F/usr/local/Cellar/qwt/6.1.4/lib
LIBS += -framework qwt
但是我受困于[[CMake。我未能成功找到如何做同样的事情。
我已经基于find_library编写了自己的FindQwt
模块,该模块已在CMake文档中指出。它在Linux上运行良好,但我无法使其在MacOS上运行我成功使它找到qwt.h,但没有找到lib本身。如果您有任何想法,将受到欢迎if(APPLE)
find_library(QWT
NAMES qwt
HINTS /usr/local/opt/qwt/lib/
REQUIRED)
if(QWT)
include_directories(${QWT}/Headers)
link_libraries(${QWT})
endif()
endif()
这会将qwt框架添加到CMakeLists.txt中定义的任何目标,但是您可能更喜欢将链接部分应用于一个目标,如下所示:
target_link_libraries(yourtarget ${QWT})
另一个警告:您应该将程序链接到Qwt链接的相同Qt5框架,并且也通过brew安装:QTDIR = / usr / local / opt / qt5