我正在为android编译库(特别是android M)而且我想在我使用dlopen();
函数时询问,库路径的正确语法是什么?
哪一个是正确的?
第一个:
libcameraHandle = ::dlopen("/system/lib/libseccameraadaptor.so", RTLD_LAZY);
所以路径是: /system/lib/libseccameraadaptor.so
或第二个:
libcameraHandle = ::dlopen("libseccameraadaptor.so", RTLD_LAZY);
所以路径是 libseccameraadaptor.so
我也找到了一些可以为这个特定主题提供良好信息但却无法理解的内容look into cool hacks/opengl section
答案 0 :(得分:0)
第二种语法在libseccameraadaptor.so
中指定的标准路径和路径中搜索LD_LIBRARY_PATH
。对于像这样的标准库,它将永远存在于/system/lib
中,它并没有太大的区别。对于其他任何事情,如果库被移动到不同的地方,第二次调用可能会更加健壮。