我正在使用Microsoft Visual C++ 10编译我的程序,它使用PDCurses库。我已经将其配置为链接pdcurses.lib,但是当我尝试运行应用程序时,系统抱怨找不到“pdcurses.dll”。这不应该发生。我曾经使用MinGW(GCC)编译程序,当我尝试运行应用程序时,它不会要求我安装任何DLL文件。我该怎么做才能让MSVC静态链接PDCurses?
我正在使用Microsoft Visual C++ 10编译我的程序,它使用PDCurses库。我已经将其配置为链接pdcurses.lib,但是当我尝试运行应用程序时,系统抱怨找不到“pdcurses.dll”。这不应该发生。我曾经使用MinGW(GCC)编译程序,当我尝试运行应用程序时,它不会要求我安装任何DLL文件。我该怎么做才能让MSVC静态链接PDCurses?
.lib
文件有两种形式:
.lib
文件。在这种情况下,您将链接导入库而不是静态库。确保检查您的生成日志以获取使用的路径。然而,这仅适用于库的发行版包含两种类型的库的情况。lib.
并不能说明它是什么类型的 .lib
。一个简单的经验法则是查看 DLL 是否比 .lib
更小或更大。如果 DLL 更大,则 .lib
很可能只是一个导入库。如果 DLL 更小,则 .lib
很可能是你正在寻找的静态库。将你的构建日志细节包含在问题中,我们可能能够提供进一步帮助。GCC 的比较在这里没有意义,因为它直接使用存档 (.a
) 或 .so
。在 MSVC 中,动态链接需要导入库 (.lib
)。 - 0xC0000022L这个dll文件需要在路径中。