Winapi 如何在Win32控制台应用程序中访问.lib文件中的方法

Winapi 如何在Win32控制台应用程序中访问.lib文件中的方法,winapi,dll,static-libraries,class-library,.lib,Winapi,Dll,Static Libraries,Class Library,.lib,我正在尝试使用visual studio 2012访问.lib文件。以下是我遵循的步骤 创建了一个类库,并包含头(.hpp)和.lib文件 头文件:- extern“C”unsigned int GetKey() 类库 公共: 静态无符号整型GetKey1() { 返回GetKey(); } 构建了这个应用程序,它是成功的,我们称它为类库 创建了一个win32控制台应用程序并添加了上面的dll作为参考,尝试访问dll中的方法,构建成功,但当我尝试运行它时,它显示文件未找到异常 在classlib

我正在尝试使用visual studio 2012访问.lib文件。以下是我遵循的步骤

  • 创建了一个类库,并包含头(.hpp)和.lib文件

    头文件:-
    extern“C”unsigned int GetKey()

    类库

    公共:
    静态无符号整型GetKey1()
    {
    返回GetKey();
    }

  • 构建了这个应用程序,它是成功的,我们称它为类库

  • 创建了一个win32控制台应用程序并添加了上面的dll作为参考,尝试访问dll中的方法,构建成功,但当我尝试运行它时,它显示文件未找到异常 在classlibrary.dll或其依赖项中,如下所示 源文件

    using namespace ManagedMathFuncsLib;
    
    int main()
    {
    
       Class1 cs;
    
       cout<<"default value of variable from dll : "<< cs.GetKey1()<<endl;
    
       return 0;
    }
    
  • 您没有lib文件。这将是一个带有.NET的托管程序集
  • 类内的静态函数不能作为具有外部“C”链接的函数引用
  • 在将LIB定义为输入文件或将其添加到链接器选项时,LIB包含在项目中
  • 如果要创建没有DLL的静态C/C++库(.lib)

  • 启动项目向导
  • 选择Win32项目
  • 在向导中选择“静态库”
  • 有了这样一个静态库,您只需要一个头文件和库就可以将它包含到另一个项目中

    当您使用静态库时,没有任何错误


    PS:您应该为调试和发布模式创建一个静态libs。您还需要注意控制CRT如何在库中使用的开关。这个编译器开关在库中应该是相同的,在项目中你使用库。

    我有一个带头文件的库文件。我在上面发布的头文件的代码。类库代码是我为访问lib文件中的方法而编写的。。有一个.lib文件,即静态库和头文件。。现在,如何访问我编写的内部方法。永远不能通过外部“C”访问C++/CLI中的托管例程。向我们展示你的库的代码。AFAIK静态库不打算与C++/CLI一起使用。此外,错误消息显示链接器未解析库中的任何外部链接。应用程序“链接到”了.Net程序集。感谢您的回复..我没有.lib代码。。这是第三方的.lib和.hpp文件。我试图通过win 32控制台应用程序访问它,但它也显示“程序无法启动,因为您的计算机中缺少XXXX.dll。”这个第三方库不是静态库。您需要相应的DLL。
             **Do i need the dll related to .lib file? Please help.**