这个问题是由于我遇到的一种情况而提出的
假设我有这些外部文件以及其中的一些声明或定义:
foo1.h
extern void ext_func();
foo1.c
无效 ext_func(){ .... }
foo2.c
#include "foo1.h"
int Modelica_func(){ ext_func(); }
我在 foo1.c 中定义了 ext_func() 。然后,在 foo1.h 中我将它声明为extern,因为我想在 foo2.c 中使用它。Modelica_func()是我将在 Modelica 中使用的函数。
编译器总是向我抛出错误 LNK2019抱怨unresolved external symbol,我想这可能是由于头文件找不到匹配的 c 文件的原因。我在 Dymola 工作,我已将所有这些文件放在WorkingFolder/Sources/Include中。但我仍然遇到同样的错误。我希望其他人看到我的代码,所以我不能使用静态或动态库。
如果有人可以帮助我,将不胜感激。谢谢!