我用C语言编写了一个代码,用于辐射传输的水力模拟。需要PETSc,它是我在本地机器上编译的。但是在编译我的代码时,我得到了错误消息:error: ’__SDIR__’ undeclared (第一次用在这个函数中)。makefile具有:
include $(PETSC_DIR)/conf/variables
CFLAGS += $(PETSC_INCLUDE)
CFLAGS += $(PETSC_CC_INCLUDES)
LDFLAGS += $(PETSC_KSP_LIB)有人能给出一个解决方案吗?
发布于 2015-04-02 06:31:00
链接器参数必须在任何对象文件之后具有库引用(路径,然后是库名称)。这是因为这些库用于解析符号,并且参数是按照从左到右列出的顺序处理的。因此,当一个库被提前列出时,在目标文件创建未解析符号的某个目标文件之前,该库将不会用于解析该符号。建议将库路径和库名称放在链接器行的最后。
https://stackoverflow.com/questions/29374973
复制相似问题