使用QWT构建时出错 [英] Errors while building with QWT

查看:181
本文介绍了使用QWT构建时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到错误

undefined reference to `QwtPlot::QwtPlot(QWidget*)'

当我尝试构建我的项目时,即使在设置中看起来一切都很好。

when I try to build my project even though everything seems fine in the setup.

在我的CmakeLists.txt文件中,我有

In my CmakeLists.txt I have

include_directories(
  [...]
  ${QWT_INCLUDE_DIR})

指向我的Qwt标头

which points to where I have my Qwt headers and

find_package(Qwt REQUIRED)

之所以起作用,是因为QWT_FOUND设置为True

works because QWT_FOUND is set to True

这是我的FindQwt.cmake:

Here's my FindQwt.cmake:

#MESSAGE("Searching for QWT")
FIND_PATH(QWT_INCLUDE_DIR NAMES qwt.h PATHS
  /usr/include
  /usr/local/include
  "$ENV{LIB_DIR}/include" 
  "$ENV{INCLUDE}" 
  PATH_SUFFIXES qwt-qt4 qwt
  )

FIND_LIBRARY(QWT_LIBRARY NAMES qwt qwt5 qwt-qt4 qwt5-qt4 PATHS 
  /usr/lib
  /usr/local/lib
  "$ENV{LIB_DIR}/lib" 
  "$ENV{LIB}/lib" 
  )

IF (QWT_INCLUDE_DIR AND QWT_LIBRARY)
  SET(QWT_FOUND TRUE)
ENDIF (QWT_INCLUDE_DIR AND QWT_LIBRARY)

IF (QWT_FOUND)
  IF (NOT QWT_FIND_QUIETLY)
    MESSAGE(STATUS "Found QWT: ${QWT_LIBRARY}")
  ENDIF (NOT QWT_FIND_QUIETLY)
ELSE (QWT_FOUND)
  IF (QWT_FIND_REQUIRED)
    MESSAGE(FATAL_ERROR "Could not find QWT")
  ENDIF (QWT_FIND_REQUIRED)
ENDIF (QWT_FOUND)

使用打印$ {QWT_INCLUDE_DIR}的消息指向qwt_plot.h,它已定义了QwtPlot :: QwtPlot(QWidget *),所以我不是肯定会丢失什么。

Using message to print ${QWT_INCLUDE_DIR} points to qwt_plot.h, which has QwtPlot::QwtPlot(QWidget*) defined, so I'm not sure what I could be missing.

推荐答案

我忘了实际将库链接到项目

I forgot to actually link the library to the project

target_link_libraries(project
   [...]
   ${QWT_LIBRARY}
 )

这篇关于使用QWT构建时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆