0

这个问题是由于我遇到的一种情况而提出的

假设我有这些外部文件以及其中的一些声明或定义:

  1. foo1.h

    extern void ext_func();

  2. foo1.c

    无效 ext_func(){ .... }

  3. 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中。但我仍然遇到同样的错误。我希望其他人看到我的代码,所以我不能使用静态或动态库。

如果有人可以帮助我,将不胜感激。谢谢!

4

1 回答 1

1

您可以在Modelica Specification的第 12.9.4 节中找到一些详细信息。

于 2014-02-18T23:31:23.947 回答