提升1.48 GCC 4.2.4 AIX 5.3 PowerPC
我有一个C应用程序,我被告知移植到C ++,我现在需要使用正则表达式。因此,自从XMAS以来我一直在学习C ++(实际上真的很喜欢它,在周几没见过妻子)。所以,我必须使用GCC将应用程序移植到AIX 5.3。我只使用boost来进行正则表达式。我有一个简单的测试示例,编译并运行正常,但在编译时我得到这些警告。任何人都可以建议a)他们可以安全地忽略b)如果没有那么我做错了什么c)有人认为浓咖啡和深夜是一个学习C ++的好计划吗?
以下是示例: #包括 #include
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()
感谢您的时间 丹尼
答案 0 :(得分:0)
a)是的,他们可以安全地忽略。我在我的框中编译了你的代码,它很好(检查你的转义顺序)。因此,您获得的警告很可能是由您的编译器版本或平台引起的。您可以尝试升级它们。
b) -
(c)(你问过你的妻子吗?)