【问题标题】:BoostRegex - gcc - on AIX 5.3 Simple test gives multiple ld: 0711-224 WARNINGBoostRegex - gcc - 在 AIX 5.3 上的简单测试给出了多个 ld:0711-224 警告
【发布时间】:2012-02-25 00:16:33
【问题描述】:

提升 1.48 GCC 4.2.4 AIX 5.3 PowerPC

我有一个 C 应用程序,我被告知要移植到 C++,现在我需要使用正则表达式。所以自从圣诞节以来,我一直在学习 C++(实际上真的很喜欢它,在几周内没见过妻子)。因此,我必须使用 GCC 将应用程序移植到 AIX 5.3。我只对正则表达式使用 boost。我有一个简单的测试示例,可以编译并运行良好,但是在编译时我收到了这些警告。任何人都可以建议 a) 他们可以安全地忽略 b) 如果不是那么我做错了什么 c) 有没有人认为浓咖啡和深夜是学习 C++ 的好计划?

这是一个例子: #包括 #包括

bool isPluginPresent(const std::string& s)
{
    static const boost::regex e("^(Plugin|area-Hub-Plugin):\s*(.*arealdap.+)$", boost::regex::perl|boost::regex::icase);
  return boost::regex_match(s, e);
}

#include <iostream>
using namespace std;

int main()
{
    string s[6] = { "Pluuuugin: c:\\program files\\nextid.dll", 
                    "Plugin: c:\\program files\\areahub.dll",
                "AREA-Hub-Plugin: c:\\program files\\arealdap.so",
                          "AREA-Hub-Plugin: c:\\program files\\someother.so", 
                  "Hello World: I really should go to bed",
                "Plugin:            c:\\program files\\arealdap.so",};
   int i;
   for(i = 0; i < 6; ++i)
   {
       cout << "isPluginPresent " << s[i] << " returned " << isPluginPresent(s[i]) << endl;
   }

   return 0;
}

编译 g++ -I /home/smurff/boost_1_48_0 -lpthreads example.cpp -o example /usr/local/lib/libboost_regex.a

警告是一大堆这样的:

ld:0711-224 警告:重复符号:.non-virtual thunk to boost::exception_detail::error_info_injector::~error_info_injector()

感谢您的宝贵时间 丹尼

【问题讨论】:

    标签: c++ gcc boost aix


    【解决方案1】:

    a) 是的,可以安全地忽略它们。我在我的盒子里编译了你的代码,这很好(检查你的 \s 转义序列)。因此,您收到的警告很可能是由您的编译器版本或平台引起的。您可以尝试升级这些。

    b) --

    c) (你问过你的妻子吗?)

    【讨论】:

    • 您好,谢谢您的回答。好的,我会忽略它们。顺便说一句,妻子说学习 c++ 对我来说比她更重要......如此高的维护......再次感谢
    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 2015-02-20
    • 2011-12-31
    • 2010-12-22
    • 2011-08-31
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多