【发布时间】:2013-04-14 18:46:21
【问题描述】:
我没有太多在 Windows 下构建库的经验,而且我很难在网上找到信息,“lib”和“def”不是我期望的很好的搜索词。无论如何,我的问题如下所示;虽然.dll 和.lib 文件实际上是构建和安装的,但使用它们失败了,所以我想我最好解决这个问题。 lib 找不到的文件在目录exports 中,该目录是当前目录的子目录。当我尝试构建一个类似的库 (GotoBLAS) 时,也会发生同样的事情。
【问题讨论】:
-
是什么让你认为加载 .def 文件失败?
-
@DavidHeffernan 我想我没有充分的理由,我只是抓住了这一点,因为它是命令行参数。我在想它在某种意义上是图书馆的一部分。相应地进行编辑。
-
这就是发生的事情。尝试运行
lib.exe失败,出现 Windows 错误 127ERROR_PROC_NOT_FOUND。这意味着加载时间相关性无法解决,或者对GetProcAddress的动态调用失败。因为您使用的是 cygwin,它试图将 Windows 消息转换为类似 unix 的内容,无法打开共享对象文件。 .def 文件是一个红鲱鱼。 -
好吧,我会调查这个...
-
嗯,你肯定需要一个真正的品牌。但肯定 mingw/msys 有这样的东西。 127不是找不到exe或dll。就是找不到dll中的函数。因此,很可能会选择错误版本的 dll。
标签: windows dll visual-studio-2012 cygwin static-libraries