visual c ++,LINK:致命错误LNK1104:无法打开文件

Tom*_*Tom 1 c++ dll visual-c++

我是新的C++,我有一个叫做一个dll文件DiceInvaders.dll,在我的项目,我需要使用这个库,我使用的Visual C++ 2010,我设置Linker InputDiceInvaders.libDiceInvaders.dll,我也复制此DLL文件到我的,项目的目录,我总是在这行代码中出错:

m_lib = LoadLibrary("DiceInvaders.dll");
assert(m_lib);
Run Code Online (Sandbox Code Playgroud)

错误是断言失败.我该怎么解决这个问题?先感谢您.

Cap*_*ous 6

首先,您不能DLL像往常一样将链接传递给链接器,它不是链接器识别的文件类型,也不能以这种方式链接.创建Diceinvaters.dll文件时,链接器将创建具有相同文件名和扩展名的导入库.lib.看来这已经完成了.这是在构建使用它的任何应用程序时应该传递给链接器的库文件.

其次,必须可以在DLL搜索路径中访问该Diceinvaders.dll文件.这取决于您使用的Windows版本略有不同,但通常类似于以下内容

  1. 程序加载的目录.
  2. 当前的工作目录.
  3. 系统目录.
  4. Windows目录.
  5. PATH环境变量中列出的目录.

将DLL放在项目目录中是不够的.相反,您应该将它放在与EXE依赖它的文件相同的目录中.