【问题标题】:Cannot compile MySQL++无法编译 MySQL++
【发布时间】:2012-01-23 16:34:40
【问题描述】:

我正在尝试使用以下命令编译MySQL++ 3.1.0

mingw32-make -f Makefile.mingw

在一组文件被编译后(例如 beemutex.cpp、cmdline.cpp、connection.cpp、...),我收到以下错误:

g++ -c -o mysqlpp_sql_buffer.o -g -mthreads -DUNICODE -D_UNICODE -DMYSQLPP_NO_DLL -DHAVE_MYSQL_SSL_SET -I"C:\Program Files\MySQL\MySQL Server 5.5\include"   -MT
mysqlpp_sql_buffer.o -MFmysqlpp_sql_buffer.o.d -MD -MP lib/sql_buffer.cpp
In file included from lib/sql_buffer.h:31:0,
                 from lib/sql_buffer.cpp:26:
lib/refcounted.h:258:2: error: 'size_t' does not name a type
lib/refcounted.h: In constructor 'mysqlpp::RefCountedPointer<T, Destroyer>::RefCountedPointer()':
lib/refcounted.h:89:2: error: class 'mysqlpp::RefCountedPointer<T, Destroyer>' does not have any field named 'refs_'
lib/refcounted.h: In constructor 'mysqlpp::RefCountedPointer<T, Destroyer>::RefCountedPointer(T*)':
lib/refcounted.h:100:2: error: class 'mysqlpp::RefCountedPointer<T, Destroyer>' does not have any field named 'refs_'
lib/refcounted.h:104:4: error: 'refs_' was not declared in this scope
lib/refcounted.h:104:16: error: expected type-specifier before 'size_t'
lib/refcounted.h:104:16: error: expected ';' before 'size_t'
lib/refcounted.h: In constructor 'mysqlpp::RefCountedPointer<T, Destroyer>::RefCountedPointer(const ThisType&)':
lib/refcounted.h:112:2: error: class 'mysqlpp::RefCountedPointer<T, Destroyer>' does not have any field named 'refs_'
lib/refcounted.h:115:8: error: 'refs_' was not declared in this scope
lib/refcounted.h: In destructor 'mysqlpp::RefCountedPointer<T, Destroyer>::~RefCountedPointer()':
lib/refcounted.h:125:7: error: 'refs_' was not declared in this scope
lib/refcounted.h: In member function 'void mysqlpp::RefCountedPointer<T, Destroyer>::swap(mysqlpp::RefCountedPointer<T, Destroyer>::ThisType&)':
lib/refcounted.h:246:13: error: 'refs_' was not declared in this scope
mingw32-make: *** [mysqlpp_sql_buffer.o] Error 1

我的配置可能有问题,但我找不到。找不到它似乎很奇怪,例如size_t

谢谢!

平台:
视窗 7
MinGW 2011.09 / GCC 4.6.1
MySQL 5.5
mysql++ 3.1.0

【问题讨论】:

    标签: mysql windows mysql++


    【解决方案1】:

    refcounted.h 中将size_t() 更改为std::size_t() 解决了这个问题。它现在编译。

    我仍然有链接问题,但它们应该是不同的问题。

    【讨论】:

    • 官方修复是#include &lt;stddef.h&gt;。这是自 MySQL++ 3.1.0 发布以来 GCC 更改所必需的。您可以通过从存储库而不是 tarball 获取 MySQL++ 来获得所有此类更改。它现在处于良好、稳定的状态,只是还没有达到我想要发布另一个版本的状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2023-04-01
    • 2017-06-21
    • 2019-04-19
    • 2015-11-25
    • 2015-06-07
    • 2013-03-06
    相关资源
    最近更新 更多