3 つの .asn ファイルがあります。これら 3 つのファイルが asn.1 コンパイラによってコンパイルされると、各ファイルは出力フォルダーに対応するディレクトリを持ちます。各フォルダには、asn.1 コンパイラによって生成された多くの C ソース ファイルがあります。.asn ファイルと同じ名前の .c ファイルが常に存在します (拡張子名、つまり test.asn と test.c を除く)。このファイルでは、いくつかの関数が定義されています。などasn_alloc
_ asn_free
_
asn_alloc
そのため、 and関数を実装する 3 つのファイルがありasn_free
ます。生成されたすべての C ファイルを C プロジェクトで使用します。
問題は、asn_alloc
関数が 3 つの場所で定義されていることです。これが、コンパイラ エラーが発生する理由です。
関数の多重定義
この問題にどう対処すればよいですか?生成されたソース ファイルを編集するのは得策ではないと思います。