在运行时动态加载库不起作用
Load lib dynamicly at runtime don't work
我尝试加载一个*。因此在运行时使用以下代码:
handle = dlopen(Path, RTLD_LAZY);
create = (FunctionEquationInterface* (*)())dlsym(handle, "CreateClass");
destroy = (void (*)(FunctionEquationInterface*))dlsym(handle, "DestroyClass");
FunctionEquationInterface
看起来像:
class LocalFunctionImplementation : public FunctionEquationInterface
{
public:
virtual int CreatePolynom(vtkUnstructuredGrid *input, vtkDataArray *coefficientArray);
virtual double Evaluate(Point *point);
};
extern "C" LocalFunctionImplementation* CreateClass();
extern "C" void DestroyClass(LocalFunctionImplementation*);
我用cmake
构建libadd_library(${PROJECT_NAME} SHARED LocalFunctionImplementation.cpp)
问题是lib不会被加载。handle
仍然是NULL
我认为这是一个问题与VTK的链接,但我不知道如何解决这个问题
好的,它可以工作。我需要TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${VTK_LIBRARIES})
。因此lib将被加载
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- SFML 加载从文件不起作用,奇怪的错误
- SDL_2加载图像不起作用
- QPixmap加载不起作用
- 线程对象的 WaitForSingleObject 在 DLL 卸载中不起作用
- 而用于加载文件的循环不起作用
- IE插件中的加载库不起作用
- 通过HTTP加载外部HTML时DHTML_EVENT_ONCLICK不起作用?
- QWebPage在第一次加载后不起作用
- 使用加载库( "cmd.exe" ) 但不起作用
- 加载 QPixmap 在 vista 上不起作用
- C++加载库不起作用
- 我的加载图像不起作用 - 我需要知道为什么
- 为什么GDB不加载libdl而不是共享库?和堆跟踪不起作用
- 在运行时动态加载库不起作用
- 从资源加载图像不起作用(C++ Dll)