例如,当我创建一个程序并用MinGW编译它时,如果我删除了环境变量,我需要把dll放在目录中才能工作
即。libgcc_s_dw2-1.dll
没有它,程序甚至不会启动。
当使用QT进行开发时,我注意到我需要目录中的另一个dll,它是QtCored4.dll,我想知道程序是如何知道dll丢失的?
另外,有没有办法在程序中添加类似这样的东西,比如定义语句或其他东西?
我需要一个可以与C++一起工作的答案:)
发布于 2010-12-12 08:40:22
这是由操作系统负责的--因为您的程序使用DLL中的函数,所以它会在程序启动时自动加载,如果DLL丢失,您将得到一个错误。您可以在MSDN:Load-Time Dynamic Linking上阅读有关此过程的更多信息。
发布于 2010-12-12 08:43:30
当使用QT进行开发时,我注意到我需要目录中的另一个dll,它是QtCored4.dll,我想知道程序是如何知道这个dll丢失的
您还可以尝试在运行时自己加载DLL,并从容地处理失败。参见LoadLibrary和GetProcAddress。
https://stackoverflow.com/questions/4419802
复制相似问题