当我进行等离子体模拟项目时,链接器会报告此错误:
../libpsc/.libs/libpsc.a(push_part_1vb_mix.o):(.rodata+0x38): undefined reference to `psc_push_particles_1vb_ps2_ops'
实际上,问题很明显。 c文件../libpsc/FOLDER_A/push_part_1vb_mix.c(称之为A.c)是指
struct psc_push_particles_ops psc_push_particles_1vb_ps2_ops = { //definition
在../libpsc/FOLDER_B/psc_push_particles_ps.c中定义(称之为B.c)。 A.c包含一个包含
的头文件(位于../include/中)extern struct psc_push_particles_ops psc_push_particles_1vb_ps2_ops;
但是,链接器无论如何都会报告此错误。那么我该如何解决这个问题呢?这是由makefile引起的吗?我不知道链接器如何解决引用,任何建议将不胜感激。提前谢谢!