gcc -funit-at-a-time导致编译失败

时间:2013-05-10 13:49:23

标签: c++ mysql gcc

我们已经开始将我们的应用程序与-libmysqlcppconn-static链接到 MySQL 支持。

当我们编译进行调试时,一切正常,但是当我们使用gcc -O2编译发布时,我们会收到错误。

我们已将有问题的编译器选项追踪为-funit-at-a-time。 我们可能会得到以下形式的错误:

  

libmysqlcppconn-static.a(mysql_connection.cpp.o):在函数中   sql::mysql::MySQL_Savepoint::getSavepointId()': mysql_connection.cpp:(.text+0x8d): undefined reference to std :: allocator :: allocator()'   mysql_connection.cpp :(。text + 0x133):未定义引用   `std :: allocator :: ~allocator()'

我们现在正在解决这个问题,包括-fno-unit-at-a-time。任何有关我们如何纠正这一点的见解将不胜感激

1 个答案:

答案 0 :(得分:0)

可能是因为您正在使用gcc编译代码..尝试使用g ++编译文件 否则尝试使用以下命令 gcc -lstdc ++ file.cpp