mysql源码分发版​详细安装过程(3)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:32 点击:次
如果你正在使用gcc并且没有安装libg++或libstdc++,你可以告诉configure使用gcc作为C++编译器:
shell> CC=gcc CXX=gcc ./configure
当你使用gcc作为C++编译器用时,它将不试图链接libg++或libstdc++。即使你安装了这些库,这样也很好,因为过去使用MySQL时,它们的部分版本会出现一些奇怪的问题。
下面列出了一些经常使用的编译器和环境变量设定值。
o gcc 2.7.2:
o CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"o egcs 1.0.3a:
o CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors \o -fno-exceptions -fno-rtti"o gcc 2.95.2:
o CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \o -felide-constructors -fno-exceptions -fno-rtti"o pgcc 2.90.29 或更新版:
o CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \o CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \o -felide-constructors -fno- exceptions -fno-rtti"在大多数情况,在configure行使用前面列出的选项并加入下面的选项,可以得到合理的优化的MySQL二进制:
--prefix=/usr/local/mysql --enable-assembler \--with-mysqld-ldflags=-all-static换句话说,对于所有最近的gcc版,整个configure行应为:
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \-felide-constructors -fno- exceptions -fno-rtti" ./ configure \--prefix=/usr/local/mysql --enable-assembler \--with-mysqld-ldflags=-all-static我们在MySQL网址http://www.mysql.com/提供的二进制均已经编译过并进行了优化,对于大多数用户应当比较完善。请参见2.1.2.5节,"MySQL AB编译的MySQL二进制版本"。其中有一些配置设定值,可以选用来构建更快的二进制,但是只适用高级用户。请参见7.5.4节,"编译和链接怎样影响MySQL的速度"。
如果构造失败并且产生有关编译器或链接器的错误,不能创建共享库"libmysqlclient.so.#"("#"是一个版本号), 你可以通过为configure指定--disable-shared选项来解决此问题。在这种情况下,configure将不构造一个共享libmysqlclient.so.#库。
默认地,MySQL使用latin1(cp1252)字符集。为了改变 默认设置,使用--with-charset选项:
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>