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

C++ C++;和DLL未在此范围内声明,c++,dll,C++,Dll,在前面的一个问题之后,我发布并收到了一个极好的答案- 我还有更多的问题。我一定是出了什么问题,但我非常确定我正确地构建了.DLL,并且从前面回答的问题可以确定它正确地链接到了.DLL 我有以下资料: 我还使用了DependencyWalker来确保.DLL正在导出我试图调用的函数,并且显示它正在正确导出 PS:我在编译调用.dll的程序时收到一个错误,该程序在导出的函数中出现了“wasnotdeclareinthiscope”错误 谢谢你的时间和帮助 可能无法直接解决您的问题(因为您使用的是

在前面的一个问题之后,我发布并收到了一个极好的答案-

我还有更多的问题。我一定是出了什么问题,但我非常确定我正确地构建了.DLL,并且从前面回答的问题可以确定它正确地链接到了.DLL

我有以下资料:

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

PS:我在编译调用.dll的程序时收到一个错误,该程序在导出的函数中出现了“wasnotdeclareinthiscope”错误


谢谢你的时间和帮助

可能无法直接解决您的问题(因为您使用的是win32),但Poco库提供了一种非常干净且易于使用的方法,可以从共享库(包括DLL)加载符号。所以你可以试着用Poco来代替


请参阅:

答案很清楚。而不是写:

int a = Isworking();
你应该写:

int a = funci();

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

调用
LoadLibrary
GetProcAddress
有什么困难?这不是火箭科学!谢谢你的建议,我实际上是在研究.dll的等价物,所以是?Poco也可以在Unix中运行,它是一种跨平台的.dll链接器?同一个函数和方法可以分别调用.dll和.so吗?我同意David的观点。直接使用这些函数并不难,而且肯定有更好的学习效果。@DavidHeffernan:如果你正在加载
rocket32.dll
。@DavidHeffernan:我从来没有说过这是火箭科学。我个人更喜欢Poco,因为它对我来说更方便。Poco代码甚至是可移植的(win32绝对不是)。很可能这真的是个问题。这和你的评论就是问题所在,大卫,我犯了一个愚蠢的错误。我也不知道为什么它被否决了+1从我这里发问时,请发布演示问题所需的最低代码量,以及任何相关的编译器错误。