我正在尝试编译一个包含多个文件的c ++程序!
#include<iostream>
#include "funcfile.hh"
int main()
{
init();
}
#include<iostream>
void init();
#include<iostream>
#include "funcfile.hh"
using namespace std;
void init()
{
cout<<"hi"<<endl;
}
我正在创建二进制文件:
> CC funcfile.cc mainfile.cc -o output
funcfile.cc:
mainfile.cc:
ld: warning: symbol .dynsym[19] has invalid section index; ignored:
(file /usr/local/opt/SunWorkShop/sws_5.0/SUNWspro/lib/libm.so value=19);
当我执行输出时:
> ./output
hi
>
但我在此担心的是我应该在编译期间关注这条消息:
ld: warning: symbol .dynsym[19] has invalid section index; ignored:
(file /usr/local/opt/SunWorkShop/sws_5.0/SUNWspro/lib/libm.so value=19);
CC版本是:
> CC -V
CC: WorkShop Compilers 5.0 98/12/15 C++ 5.0
答案 0 :(得分:1)
您使用的编译器已有近15年的历史。 ELF格式在此期间发展了一点,似乎您的编译器无法识别某些较新的特殊节索引(请参阅例如here, table 7-4)。这个警告不用担心,但如果可能的话,我建议使用更新的编译器。