致命错误LNK1112“ReferenceError: module is not defined”是怎么回事?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (7)

我正在使用CUDA(VC++,Visual Studio 2008sp1)来调试FEM程序。

该程序只能运行在Win32平台上,因为cuda的问题。

我认为链接的库文件都是在x86平台上编译的,但是当我编译它时,出现:

致命错误 LNK1112“ReferenceError: module is not defined”。

该怎么办呢?

提问于
用户回答回答于

打开Visual Studio: Project Properties -> Configuration Properties -> Linker -> Command line.

“Additional Options”不应有 /machine:X86

用户回答回答于

按照以下顺序检查一下:

  1. 在链接器设置中检查属性选项:属Properties > Configuration Properties > Linker > Advanced > Target Machine。如果目标是64位版本,选择MachineX64,如果正在创建32位版本,选择MachineX86。
  2. 从Visual Studio的主菜单中选择Build> Configuration Manager。确保项目具有指定的正确平台。可以将IDE设置为构建x64,但解决方案中的单个项目可以设置为针对win32的。
  3. 检查库文件。这可以通过使用Visual Studio VC\bin目录中的dumpbin.exe来做。使用-headers选项来转储所有的函数。查找每个功能的机器条目。
  4. 在visual studio中,从主菜单中选择Tools > Options。选择Projects and Solutions > VC++ Directories,从平台下拉列表中选择x64。确保第一个条目是:$VCInstallDir\bin\x86_amd64后跟$VCInstallDir\bin

扫码关注云+社区