1
我想加載庫library.so,當我嘗試如果存在返回true,但是當我使用dlopen返回庫不存在。加載.so庫C++
std::ifstream ifile("library.so"); if (ifile) {
cout << "Exist!" << std::endl; }
cout << "C++ dlopen demo\n\n";
// open the library cout << "Opening hello.so...\n"; void* handle = dlopen("library.so", RTLD_LAZY);
if (!handle) {
cerr << "Cannot open library: " << dlerror() << '\n';
return 1; }
可能是ifstream對象鎖定了文件對象,請在使用dlopen之前嘗試執行'ifile.close()'。 – Robert 2013-05-02 10:33:41