在此范围内未声明C ++和DLL

时间:2012-01-02 19:15:30

标签: c++ dll

根据上一个问题,我发布并收到了一个很好的答案 -

Dynamically load a function from a DLL

我还有其他问题。我必须在某个地方出错,但我很确定我正确地构建了.DLL,并且我确信从之前回答的问题中它正确链接到.DLL。

我有以下内容:

http://pastie.org/3113984

我还使用了DependencyWalker来确保.DLL正在导出我试图调用的函数,并显示它正在正确导出。

PS:我在编译调用.dll的程序时收到错误,其中“导出的函数中未声明此范围”错误。

感谢您的时间和帮助!

2 个答案:

答案 0 :(得分:7)

答案很清楚。而不是写:

int a = Isworking();

你应该写:

int a = funci();

Isworking是DLL中函数的名称,但导入的函数指针称为funci

答案 1 :(得分:0)

可能没有直接解决您的问题(因为您使用的是win32),但Poco库提供了一种非常简洁易用的方法来加载共享库中的符号(包括DLL)。所以你可以尝试使用Poco。

请参阅:http://pocoproject.org/slides/120-SharedLibraries.pdf