参照《Beginning Linux Programming》上的例程写了一个连接mysql的c语言小程序connect1.c。但是按照书上的编译命令无法编译。然后经过查阅资料解决了问题。记录如下:

首先书上的编译命令是:

gcc -I /usr/local/mysql/include/ connect1.c  -L /usr/local/mysql/lib/ -l mysqlclient -o connect1

编译不成功,始终提示directory not found。网上有人说编译器不能识别全路径制定的lib库什么的,众说纷纭。后来我尝试调换了一下命令各参数的顺序:

gcc -I /usr/local/mysql/include/ -L /usr/local/mysql/lib/ connect1.c -o connect1 -lmysqlclient

妈蛋就成功了。编译成功,无法运行,提示不能加载mysql库,这好像是mysql安装包的问题,就是安装没成功,编译器找不到对应的库。

dyld: Library not loaded: libmysqlclient..dylib
Referenced from: /Users/tmxu/Projects/BeginningLinuxProgramming/./connect1
Reason: image not found
Trace/BPT trap:

我参照了这个博客的解决方案http://www.blog.bridgeutopiaweb.com/post/how-to-fix-mysql-load-issues-on-mac-os-x/

评论第一楼的解决方案好评最高,于是执行一下,我的问题也解决了。

Thank you for sharing ideas about this problem! For me none of the things above worked, unfortunately. However, I simply added a softlink from the standard MAC OS X dyld-library-path (/usr/lib/) to the libmysqlclient.18.dylib... so it can be found easily without changing much of the system. Maybe a good install process of MySQL should have done that automatically.
Here is the command:

sudo ln -s /usr/local/mysql/lib/libmysqlclient..dylib /usr/lib/libmysqlclient..dylib

Mac上c语言连接mysql遇到的问题的更多相关文章

  1. Windows下用C语言连接Mysql注意问题

    原文:Windows下用C语言连接Mysql注意问题 环境是:在VS6.0 安装Mysql后,我们需要相应的头文件以及lib文件,所以安装过程必须是完整安装.否则不会生成include文件夹哦~ 具体 ...

  2. Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库

    前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...

  3. C语言连接MySql数据库

    C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...

  4. Linux下C语言连接MySQL

    本文出自   http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...

  5. c语言连接mysql数据库的实现方法

    C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...

  6. R语言-连接MySQL数据库方法

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...

  7. 【转】【Mysql学习】之Mac上用终端使用mySQL

    收藏了几篇文章,以供查阅: 在此感谢: m0_38017925:<Mac上用终端使用mySQL> xiamu03:<在MacOS上使用终端操作数据库>

  8. C语言连接mysql -insert-update

    C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` (  `id` int(11) NOT NULL AUTO ...

  9. Mac上使用ssh连接服务器title显示服务器的ip

    Mac上使用ssh连接服务器title显示服务器的ip 使用Mac开发时,管理的服务器过多时,会搞混乱.可能有时啪啪啪一顿操作,最后发现操作错了机器. 解决方案 在远程服务器上,编辑vim /etc/ ...

随机推荐

  1. Dojo框架:误解与现实[转载]

    随着Ajax技术的流行,越来越多的Web应用使用Ajax技术来提高用户体验.使用Ajax技术的一个重要优势是不需要额外的浏览器插件支持,只需要使用浏览器原生的API,并利用JavaScript来操作即 ...

  2. MySQL之当数据库数据源被锁(Table Metadata Lock)时的解决方案

    0.发生的原因分析:[hibernate的线程池连接导致了不能修改被锁定数据库的数据库型模式] 1.关掉hibernate的所有线程池(选择退出IDE或者其他办法) 2.查看被锁的进程ID:show ...

  3. java 多线程面试

    一.多线程的创建 1.多线程的创建 (1).继承Thread类 (2).实现Runnable接口 2.两种启动线程方法的区别 1.共同点 必须调用Thread 产生线程,然后调用start()方法 开 ...

  4. 【Eclipse】Eclipse中打开cmd窗口和terminal窗口

    在IDEA的时候可以直接使用terminal打开类似于cmd窗口的功能,于是想着在eclipse也使用类似的功能. 1.Eclipse打开类似于cmd窗口的功能.(DOS) 1.window——> ...

  5. RNN(1) ------ “理解LSTM”(转载)

    原文链接:http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这 ...

  6. CentOS挂载光盘

    mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom umount /dev/cdrom /mnt/cdrom 在Ambari集群中配置192.168.0.210: ...

  7. HTMl学习笔记02-编辑器

    工欲善其事,必先利其器 使用专业HTML编辑器来编辑HTML,推荐使用Notepad++,中文界面. 在Notepad++安装完成后,点击文件>新建.语言>H中选择HTML 在新建的文件输 ...

  8. System.Runtime.InteropServices.COMException (0x800A03EC): 无法访问文件

    使用Microsoft.Office.Interop.Excel 操作 今天在服务器部署,操作程序csv文件转xsl文件的时候,遇到一下问题: System.Runtime.InteropServic ...

  9. windows使用python原生组件包获取系统日志信息

    #coding=utf8 import sys import traceback import win32con import win32evtlog import win32evtlogutil i ...

  10. igmp组播测试环境搭建

    2.4G无线组播测试环境搭建: (1)组播源: VLC 或者 pixstream (2)无线: 2.4G AP (3)客户端PC: VLC播放器 有线直连 无线2.4G PC(组播源pixstream ...