为使用mysql而配置codeblocks工程

  

心结:

 
为了在codeblocks下创建的C++工程中使用mysql,辛辛苦苦忙活了半个下午,终于长舒一口气,搞定了,编译成功。
    其中不乏数次的成功于失败的反复。个中滋味,只有让我有擂头顿足的冲动。
    不过,还算上天公平,问题终究还是解决了。
    趁着刻骨铭心的痛苦还没有消失殆尽,赶快把过程记录于此。权慰数小时之功,且备来时之用。

-----------------------------------------------------
 记录:
    为使用mysql配置codeblocks下C++工程:
        goto project -> build options
        a. compiler settings tab -> other options: `mysql_config --cflags`
        b. linker settings tab -> other options: `mysql_config --libs`
        to get codecompletion you probably need to add the include dir to your project
        c. search directories tab -> compiler:  /usr/include/mysql


-----------------------------------------------------
问题:
    为了弄明白mysql_config是什么东西?
    使用了mysql_config之后,为什么就不需要lmysqlclient参数了?

    带着问题,查到了mysql_config的一些说明。转载如下:
-----------------------------------------------------
转载:
//转载声明:下面的文字来自:Java入门培训网
   
  #
    mysql_config提供了关于编译MySQL客户端以及将其连接到MySQL的有用信息。
    mysql_config支持下述选项:
    ?         --cflags
    编译器标志,用于查找包含文件,以及编译libmysqlclient库时所要使用的关键编译器标志和定义。
    ?         --include
    编译器选项,用于查找MySQL包含文件(注意,正常情况下应使用“?cflags”而不是该选项)。
    ?         --libmysqld-libs, ---embedded
    与MySQL嵌入式服务器进行链接所需的库和选项。
    ?         --libs
    与MySQL客户端库进行链接所需的库和选项。
    ?         --libs_r
    与线程安全MySQL客户端库进行链接所需的库和选项。
    ?         --port
    默认的TCP/IP端口号,配置MySQL时定义。
    ?         --socket
    默认的Unix套接字文件,配置MySQL时定义。
    ?         --version
    版本号以及MySQL分发版的版本。

    如果未使用任何选项调用了mysql_config,将显示它所支持的所有选项的列表,以及它们的值:
    shell> mysql_config
    Usage: /usr/local/mysql/bin/mysql_config [options]
    Options:
      --cflags         [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
      --include        [-I/usr/local/mysql/include/mysql]
      --libs           [-L/usr/local/mysql/lib/mysql -lmysqlclient -lz
                    -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
      --libs_r         [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
                    -lpthread -lz -lcrypt -lnsl -lm -lpthread]
      --socket         [/tmp/mysql.sock]
      --port           [3306]
      --version        [4.0.16]
      --libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld -lpthread -lz
                    -lcrypt -lnsl -lm -lpthread -lrt]

    可以在命令行上使用mysql_config,并包含针对特定选项的值。例如,要想编译MySQL客户端程序,
    可使用mysql_config,如下例所示:
    shell> CFG=/usr/local/mysql/bin/mysql_config
    shell> sh -c "gcc -o progname `$CFG --cflags` progname.c `$CFG --libs`"
    以这种方式使用mysql_config时,务必在字符(‘`’)内调用它。
    这样,就能通知shell执行它,并将其输出代入到环境命令中。

转载于:https://www.cnblogs.com/lidan/archive/2011/06/16/2239513.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java初学者入门经典:面向对象的思维方法(其实同样非常适合C#的初学者)……非原创,作者忘了,非常抱歉...

我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来慢吞吞的速度…

极客

2019独角兽企业重金招聘Python工程师标准>>> 极客是美国俚语“geek”的音译。随着互联网文化的兴起,这个词含有智力超群和努力的语意,又被用于形容对计算机和网络技术有狂热兴趣并投入大量时间钻研的人。现代的Geek含义虽然与过去有所不同&am…

大数据——SparkStreaming学习笔记

Spark 一、SparkStreaming ​ Spark Streaming 用于流式数据的处理(准实时,微序列)。Spark Streaming 支持的数据输入源很多,例如:Kafka、 Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark…

[推荐]ORACLE SQL:经典查询练手第三篇(不懂装懂,永世饭桶!)

[推荐]ORACLE SQL:经典查询练手第三篇(不懂装懂,永世饭桶!) [推荐]ORACLE SQL: 经典查询练手第三篇(不懂装懂,永世饭桶!) ——通过知识共享树立个人品牌。 本文与大家共同讨论与分享ORACLE SQL的一些常用经…

ACM试题 - ASCII码排序 - Java中字符与对应ASCII码的转换

Java中字符转换对应ASCII码有两种方式: 第一种: char c a; byte b (byte)c; // b97 第二种: char c a; int b c; // b97 而一个ASCII码转换成相应字符则仅需强制转换: int a 97; char c (char)a; // ca ACM试…

DotNET多线程使用初探

最近几周一直在做DotNET WinForm开发,陆陆续续有些收获,希望能够有空好好整理整理。记下来以免以后又忘了。:-) 一、最简单的线程使用方法 新建一个C# Windows应用程序项目,在最前面的引用代码那增加一行using System.Threading;在界面上扔个…

Linux mount: Structure needs cleaning 错误解决方法

“mount: Structure needs cleaning”报错可以使用xfs_repair来修复,但是要注意 xfs_repair修复的分区中的文件都会丢失,即使是du能正常显示的文件也会丢失。 [rootyw-0-0 /]# mount -a mount: Structure needs cleaning[rootyw-0-0 /]# xfs_repair /dev…

大数据——Spark学习笔记(配置)

Spark运行环境 spark ui web http://hadoop102:8080 历史服务器 http://hadoop102:18080 一. 本地模式(Local)——单机运行 本地模式:运行 bin/spark-shell提交应用:运行 bin/spark-submit --class org.apache.spark.examples.SparkPi …

Linux软件安装——安装软件的命令

Linux软件安装——安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装、更新、卸载软件。 rpm命令 rpm命令用来在Linux系统上进行软件的安装。 基本语法 安装命令: 1 rpm -ivh 包全名 如果没有安装则安装,如果已经安装则升级&#xff…

JavascriptHelp

阅读全文:http://www.cckan.net/forum.php?modviewthread&tid147usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.Web…

GoLang之方法与接口

GoLang之方法与接口 Go语言没有沿袭传统面向对象编程中的诸多概念,比如继承、虚函数、构造函数和析构函数、隐藏的this指针等。 方法 Go 语言中同时有函数和方法。方法就是一个包含了接受者(receiver)的函数,receiver可以是内置类…

孙继海化装

于输得太惨,中国球员怕回国被球迷打,孙继海决定化装成“乞丐”。化好之后遇到一个老太太,他想看看自己化装的效果,就给了老太太100块钱,问:“你知道我是谁吗?”老太太看了看说:“你是…

sql 时间函数

1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,’2004-10-15′) –返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的…

大数据——Hive学习笔记

具体代码可以参考: https://github.com/Ostrich5yw/java4BigData

Eclipse 常用快捷键

Eclipse 常用快捷键 快捷键 描述 编辑 Ctrl1 快速修复(最经典的快捷键,就不用多说了,可以解决很多问题,比如import类、try catch包围等) CtrlShiftF 格式化当前代码 CtrlShiftM 添加类的import导入 CtrlShiftO 组织类的…

[Story]狗尾草花园

不知道为什么,很多年过去,我却依然记得这个故事。很小的时候,大概四、五岁吧,在河滩上和几个姐姐,一起玩过家家。他们大概十三,四岁吧,反正比我大好多。分成两组,我在我们一组当然是…

UML各种图

转载自: https://www.cnblogs.com/jiangds/p/6596595.html UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图包图的基本概念进行介绍…

Interactive Reflection Editing (SIGGRAPH ASIA 09)

讓使用者可以將reflection做editing 以達到使用者想要的結果INPUT: a 3d scene大部分是針對卡通等NPR的場景 對於reflection做editing利用shader也可以控制reflection這篇可以讓使用者做更動沒有使用BRDF做reflection的計算转载于:https://www.cnblogs.com/GameJan/archive/201…

大数据——Hive学习笔记(配置)

具体代码可以参考: https://github.com/Ostrich5yw/java4BigData

CSDN-markdown编辑器语法——字体、字号与颜色

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。但是它本身是不支持修改字体、字号与颜色等功能的! CSDN-markdown编辑器是其衍生版本,扩展了Markdown的功能&a…