linux下编译C++程序无法链接Mysql的问题

1.添加mysql的头文件

MYSQLINC = /usr/local/mysql/include

MYSQLINC = /usr/local/mysql

2.添加mysql的依赖库

#find / -name "libmysqlclient*" // 查找mysql lib的目录

MYSQLLIB = -L /usr/lib64/mysql -lmysqlclient -lz -lm

3.g++编译时添加 INC 与 MYSQLLIB 的支持

4.如果做了上述步骤仍然提示如下错误:

/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [bin/DBServer] Error 1

解决:

ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so

时间: 2024-10-28 21:40:37

linux下编译C++程序无法链接Mysql的问题的相关文章

Linux 下编译C程序的全过程

学习一门语言程序,本人觉得还是得学习它的编译规则,现在,通过小例子小结下自己对C编译的认识. ? 1 2 3 4 5 6 7 8 /*test.c   了解C程序的编译*/ #include <stdio.h> int main(void) {  printf("Hello World!\n");  return 0; } 对于test.c,我们常用一步编译到位的命令是: ? 1 gcc -o test test.c 或者 gcc test.c -o test 实际上,上面

linux下编译httpd程序

编译httpd程序 使用的程序包 httpd-2.4.25.tar.bz2 环境 Centos7 一: 先用tar工具解压程序包.    二:解压后在目录下可以看到程序包里的文件,我们重点关注的是Makefile.in的模板文件,还有README程序说明文件,以及INSTALL编译方法文件不会编译可以看看里面的说明步骤. 绿色的configure是一个可执行文件.    三: 设置好选项就可以开始了,这里我只设置了安装路径,其他的可按需添加    四:由于是第一次安装,不知道会缺少说明依赖包,我

dos命令下运行java程序(链接mysql为例子)

1 说明 使用了阿里云的Windows版的服务器,想在上面运行连接数据库的Java程序,然后就不知道,怎么运行起来.我是直接把eclipse中的文件拷到服务器上的.所有的.class 文件已经编译完成,只是不知道怎么在服务器上运行起来. 问题点1 :找不到要运行的类 问题点2 :找不到驱动,也就是无法运行导入的jar包 问题1的解决: –因为我的DBHelper文件中包含有package package mydatahelper; 所以运行时类名称则写为 mydatahelper.DBHelpe

Linux下编译Proc程序

需要在linux写简单的Proc程序,资料很少,完成后做简单总结. 中间参考过http://blog.csdn.net/gaogao303/article/details/17303453中的很多内容,表示感谢. 1. 从oracle网站下载以下安装包 注意根据OS版本进行选择64位或者32位.其中sqlplus用于连接测试,可以不装. oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-

解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”

centos64位编译32位代码,出现/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录,需要安装32位的glibc库文件. 安装32位glibc库文件命令: sudo yum install glibc-devel.i686(安装C库文件) sudo dnf install glibc-devel.i686(fedora命令) 安装32位glibc++库文件命令 sudo  yum install libstdc++-dev

Linux下执行Java程序

在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量是没问题的 百度了好久,说的很复杂,重新再linux配置环境变量,输入 vi /etc/profile进入,添加以下代码: export JAVA_HOME=/usr/local/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH export CLASSPA

linux下编译qt5.6.0静态库——configure配置

 随笔 - 116  文章 - 4  评论 - 7 linux下编译qt5.6.0静态库--configure配置 linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时的错误 多重定义'QT_MODBUS()'和'QT_MODBU

[转载]linux下编译php中configure参数具体含义

编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local

linux下编译qt5.6.0——configure配置

linux下编译qt5.6.0 首先下载源码包qt-everywhere-opensource-src-5.6.0.7z 然后解压 7z x -o/home/o/qt-src/qt-opensource-src-5.6.0 qt-everywhere-opensource-src-5.6.0.7z cd /home/o/qt-src/qt-opensource-src-5.6.0 我这里解压到/home/o/qt-src/qt-opensource-src-5.6.0中,解压后进入这个目录. c