应用程序在Eclipse中编译,但在Qt中有“未定义的引用错误”

时间:2014-08-18 00:04:26

标签: c++ mysql eclipse qt undefined-reference

我正在构建一个使用mysql并需要图形用户界面的应用程序。因为我对Eclipse更熟悉,而且似乎有更好的组织和'弹出引用',所以我决定在Eclipse中开发主引擎,并将其转移到Qt(使用Qt Creator 3.1.2,基于Qt 5.3) .1)用于GUI。引擎在Eclipse中编译很好(并且Eclipse中的命令行测试运行良好),但是当我在Qt项目中包含文件时,我得到未定义的引用错误。

我在这个代码的任何地方都收到错误(undefined reference to 'sql::mysql::get_driver_instance'):

  

sql :: mysql :: MySQL_Driver * driver = sql :: mysql :: get_driver_instance();

我已经包含了所有相关的头文件(因为Eclipse没有看到任何问题):

  

#include“mysql_driver.h”

     

#include“mysql_connection.h”

     

#include< cppconn / driver.h>

     

#include< cppconn / connection.h>

     

#include< cppconn / statement.h>

     

#include< cppconn / prepared_statement.h>

     

#include< cppconn / resultset.h>

     

#include< cppconn / metadata.h>

     

#include< cppconn / resultset_metadata.h>

     

#include< cppconn / exception.h>

     

#include< cppconn / warning.h>

听起来像链接器错误,但我找不到在Qt选项页面中指定链接器选项的位置。我在Ubuntu 14.04上使用gcc编译器。

我忘记在某处更改设置还是其他内容?

1 个答案:

答案 0 :(得分:0)

我想通了,感谢this thread。我只需要编辑Qt项目(.pro)文件,而不是在选项页面中链接。我添加了以下内容:

  

LIBS + = -lmysqlcppconn

它现在编译并运行正常。所以问题只是我不明白如何进行链接。