我已经将一个C++代码从一个开放的solaris操作系统移植到了Redhat 4操作系统。在此代码段IAM正在一个错误:无效的精灵标题linux
AsciiFileName = new char [1024];
cout<<"HandleFile is getting called "<<endl;
/// Converting the file name to ascii.
FileName += strFileName;
FileName.ConvertToAscii(AsciiFileName);
/// Get handle to the shared object file.
Handle = dlopen(AsciiFileName, RTLD_LOCAL | RTLD_LAZY);
cout<<"Handle = dlopen(AsciiFileName, RTLD_LOCAL | RTLD_LAZY); is getting called AsciiFileName"<<AsciiFileName<<endl;
if (!Handle)
{
cout<<"Handle is NULL"<<endl;
cout<<dlerror()<<endl;
exit(EXIT_FAILURE);
我得到的错误是:
invalid elf header linux
这是不能够打开,以便file.Here是相关的日志,它
Before ProcessSharedObject->IterateOnDir
GCVDirectoryIterator::IterateOnDir:file name :/bin/ls /trnuser1/rmtrain/DevelopmentEnv/Telstra/USM/dat/CnEModules/*.so
GCVDirectoryIterator::IterateOnDir:file opened :/trnuser1/rmtrain/DevelopmentEnv/Telstra/USM/dat/CnEModules/libGCVCore.so
before GCVDirectoryIterator::AddFile
HandleFile is getting called
Handle = dlopen(AsciiFileName, RTLD_LOCAL | RTLD_LAZY); is getting called AsciiFileName/trnuser1/rmtrain/DevelopmentEnv/Telstra/USM/dat/CnEModules/libGCVCore.so
Handle is NULL
/trnuser1/rmtrain/DevelopmentEnv/Telstra/USM/dat/CnEModules/libGCVCore.so: invalid ELF header
您是否正在尝试打开solaris .so? –
不,它是红帽所以文件 – subodh1989