2

我有一个用于创建库文件的 def 文件。但是,当我尝试使用 dlltool(来自 MinGW)执行此操作时,它所做的只是创建一个程序集文件和一个空库文件。

程序集文件每次名称不同,但内容相同。下面是汇编文件的内容。

# IMAGE_IMPORT_DESCRIPTOR
.section    .idata$2
.global _head_libnidaq_a
_head_libnidaq_a:
.rva    hname   #Ptr to image import by name list
#this should be the timestamp, but NT sometimes
#doesn't load DLLs when this is set.
.long   0   # loaded time
.long   0   # Forwarder chain
.rva    __libnidaq_a_iname  # imported dll's name
.rva    fthunk  # pointer to firstthunk
#Stuff for compatibility
.section    .idata$5
fthunk:
.section    .idata$4
hname:

有人知道这里发生了什么吗?

4

1 回答 1

0

如此处所述,在提出问题两年后,如果包含 as.exe 的目录(通常为 [安装位置]/mingw32/bin)不在系统路径上,则会出现此问题。不幸的是,如果使用详细标志 (-v) 运行,dlltool 只会对此发出警告(通过回显尝试运行 as.exe 时生成的“没有这样的文件或目录”错误)。

在 Windows 命令提示符下运行该命令set PATH=%PATH%;[installation location]/mingw32/bin,然后运行 ​​dlltool 可解决此问题。

于 2016-01-28T19:33:12.177 回答