この質問は、私が遭遇した状況のために提起されました
これらの外部ファイルと、その中にいくつかの宣言または定義があるとします。
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に配置しました。しかし、それでも同じエラーが発生しました。他の人に自分のコードを見てもらいたいので、静的または動的ライブラリを使用できません。
誰かが私にこれを少し手伝ってくれたら大歓迎です。ありがとう!