這個問題上升原因在於我遇到是否可以修改Dymola的編譯器包含路徑?
說我有這些外部文件,並在其中一些聲明或定義的情況:
foo1.h
extern void ext_func();
foo1.c
空隙ext_func(){ .... }
foo2.c
#include "foo1.h"
int Modelica_func(){ ext_func(); }
我定義ext_func() in foo1.c.然後,在foo1.h中,我聲明它是extern,因爲我想在foo2.c中使用它。 Modelica_func()是我將在Modelica中使用的函數。
編譯器總是拋出錯誤LNK2019我抱怨解析外部符號,我想這可能是由於該頭文件無法找到它的對應的C文件的原因。我在Dymola工作,並且已將所有這些文件放入WorkingFolder/Sources/Include。但是我仍然有同樣的錯誤。我希望別人看到我的代碼,所以我不能使用靜態或動態庫。
非常感謝,如果任何人都可以幫助我這一點。謝謝!
你在建立foo1.c嗎?你是否將它鏈接到二進制文件?在這一點上,頭文件並不重要,所有東西都已經編譯完成。 – Collin