g++ 无法链接到 libmysqlclient

g++ 无法链接到 libmysqlclient

我在 MacbookPro 上的虚拟机上使用 Ubuntu 12.04。我安装了 build-essential、mysql-server 和 libmysqlclient-dev。“mysql”和“mysql_config”命令均有效。

但是,以下程序没有链接:

#include <stdio.h>
#include <unistd.h>
#include <mysql.h>

int main(int argc,char *argv[]){
    printf("hello world\n");

    //init
        {
        MYSQL itsmysql;

        MYSQL* mytemp=0; mytemp=mysql_init(&itsmysql);
        if(mytemp){
            printf("hello world YEP\n");
            }
        else{   
            printf("hello world NOOOO\n");
            }
        }

    return 0;
    }

我使用以下命令运行 g++:

g++ `mysql_config --cflags` `mysql_config --libs` test.cpp

我之前在 32 位版本的 Ubuntu 下运行这个程序,但现在我有一个 64 位版本。使用 VirtualBox 和 Parallels 都会出现问题。'mysql_config' 的输出看起来没问题。

在我看来,链接器无法在 libmysqlclient 文件中找到适当的文件/架构类型。

下一步我应该尝试什么?

错误消息是“对 mysql_init 未定义的引用”。

答案1

尝试一下这个:对我有用

g++ -o test test.cpp `mysql_config --cflags` `mysql_config --libs`

然后测试

./test
Hello world YEP

相关内容