【发布时间】: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()
感谢您的宝贵时间 丹尼
【问题讨论】: