由于我遇到的情况,提出了这个问题
假设我有这些外部文件及其中的一些声明或定义:
foo1.h
extern void ext_func();
foo1.c
void 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 给我抱怨未解析的外部符号,我想这可能是由于头文件无法找到匹配的c文件的原因。我在Dymola工作,我把所有这些文件放在 WorkingFolder / Sources / Include 中。但我仍然得到同样的错误。我希望别人看到我的代码,所以我不能使用静态或动态库。
非常感谢有人能帮助我一点点。谢谢!