gpt4 book ai didi

makefile - 当一切都在那里时,libtool 没有生成 lo 文件

转载 作者:行者123 更新时间:2023-12-04 02:30:26 24 4
gpt4 key购买 nike

我是使用 libtool 的新手。然而,这个问题似乎很奇怪。一切都在那里,但 libtool 说“libtool:链接:'cuda_transfer.lo' 不是有效的 libtool 对象”。但是,生成这个 lo 文件的规则就在 Makefile 中。此外,这两个头文件也正好在它们应该在的地方并且可以工作。知道出了什么问题吗?

cuda_transfer.lo: particles_cuda.h ../../include/psc_particles_cuda.h

后面还有cuda_transfer.lo出现的Makefile中另外两个地方
libsubdir_la_DEPENDENCIES = cuda_transfer.lo \

libsubdir_la_LIBADD = \
cuda_transfer.lo \

.c.lo: 段如下:
.c.lo:
$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
$(am__mv) $$depbase.Tpo $$depbase.Plo
# $(AM_V_CC)source='$<' object='$@' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<

如何解释这个对人类不友好的代码。 = =

下面是 Brett 建议的代码段。
noinst_LTLIBRARIES = libsubdir.la
libsubdir_la_SOURCES = \
psc_fields_cuda.c \
psc_particles_cuda.c \
psc_push_particles_cuda.c \
psc_push_fields_cuda.c \
psc_bnd_cuda.c \
psc_bnd_particles_cuda.c \
psc_bnd_fields_cuda.c \
b40c/kernel_utils.h \
b40c/radixsort_kernel_common.h \
b40c/radixsort_key_conversion.h \
b40c/radixsort_reduction_kernel.h \
b40c/radixsort_scanscatter_kernel.h \
b40c/radixsort_scanscatter_kernel3.h \
b40c/radixsort_scanscatter_kernel4.h \
b40c/radixsort_spine_kernel.h \
b40c/vector_types.h \
cuda_common.h \
cuda_sort2.h \
cuda_sort2_spine.h \
particles_cuda.h \
psc_bnd_cuda.h \
psc_bnd_cuda_fields.h \
psc_cuda.h

libsubdir_la_LIBADD = \
cuda_transfer.lo \
cuda_spine.lo \
cuda_sort2.lo \
cuda_sort3.lo \
cuda_exchange_particles.lo \
cuda_exclusive_scan_2.lo \
cuda_push_part_yz_1vb.lo

唯一看起来像 cuda_transfer.lo 的生成规则的是
cuda_transfer.lo: particles_cuda.h ../../include/psc_particles_cuda.h

最佳答案

尝试这个:

yum -y install libtool*

然后进行清理并再次重新启动

关于makefile - 当一切都在那里时,libtool 没有生成 lo 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com