我几天来一直在讨论这个问题,我似乎无法解决这个看似简单的问题。我需要从另一个DLL中使用DLL提供的函数。我已经验证了我需要的所有缺失符号都在dlltool提取的静态库中,但无论我尝试什么它都不会链接到共享库。这是我目前的尝试,似乎很有希望但只是让我遇到了一个新的错误。
libtool:link:无法从此主机上的非libtool对象构建libtool库'libnvml.la'
这是我的Makefile.am
AM_CPPFLAGS = -I$(top_srcdir)/include
lib_LTLIBRARIES = libnvml.la
libnvml.la: libnvml.a
ar x libnvml.a `ar -t libnvml.a` && $(LIBTOOL) --mode=link $(CC) -g -O -o $@ `ar -t libnvml.a`
libnvml.a: nvml.def
$(DLLTOOL) -d $< -D nvml.dll -k -l $@ && ranlib libnvml.a
nvml.def: $(NVML)/lib/nvml.lib
$(LIB2A)/bin/reimp.exe -d $<
有谁知道如何将此lib文件转换为libtool库(.la),以便将其链接到我的dll?