标签类目:cdt

解决Debian5编译环境头文件异常的办法

分类:C/C++分类:Debian在编译时使用下列包含位置即可:(注意顺序)
适用于gcc,g++
32位:

/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.3.2/include
/usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed
/usr/include

64位

/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include-fixed
/usr/include

Eclipse + CDT + MinGW + MySQL环境搭建解决方案

分类:C/C++环境说明: Windows XP, Eclipse 3.5, MinGW 5.1.4, Mysql 5.1.36, CDT 3.1

在Eclipse下用CDT和MinGW编写C访问Mysql时会出现 undefined reference to `mysql_init@4′的问题,这是因为mingw编译时找不到静态库的原因,网上的解决办法一般是用:reimp.exe及dlltool.exe重新生成libmysql.def和libmysql.a,然后用libmysql.a。具体命令是:

dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k

奇怪的是用这这个办法生成的libmysql.a为0字节,后来查看有libmysql.lib文件,试着将其改名为libmysql.a,问题得到解决,具体解决步骤如下:

1、添加Mysql头文件:
方法1:项目->属性->C/C++ Build->Tool Settings->GCC C Compiler->Directories 中添加你的头文件所在目录,包括Mysql中的include目录。
方法2:将Mysql中的include目录拷到项目下的头文件目录下或MinGW的公共include目录下,目录改名为mysql。

2、添加用于gcc编译的mysql静态库文件
复制mysql安装目录中的\lib\opt\libmysql.lib为libmysql.a。

另外查询或插入记录时乱码问题的解决:
在mysql连接成功后,发出查询之前,加入如下代码

  1. mysql_set_character_set(&mysql,"gb2312");

如有问题,请发邮件到 cdkey51@linuxany.com ,大家一起探讨。

继续阅读 »


返回顶部