我有一个可执行文件和一个动态库(.so)。该库导出一些符号和可执行调用成功。但我想让库调用可执行文件的功能。我一直试图做的可执行如下:如何从我的库中调用可执行文件中的函数?
//test
extern "C" void print(const char * str) {
std::cout << str << std::endl;
}
,这在库:
extern "C" void print(const char *);
,但是当我在执行调用dlopen
(加载库),它会返回错误undefined symbol: print
。我该如何解决它?
@milo:我已经添加了从可执行文件导出符号的更加细致的方式。 – ninjalj 2011-06-10 19:36:30
非常感谢!我想我最好读一下“dso howto”,以便在共享对象中获得更全面的知识。 – milo 2011-06-11 06:14:48
对其他主要平台的几句话会很好。 – ManuelSchneid3r 2017-01-10 21:40:20