2011-12-06 12 views
0

私は、FreeActionをFreePathアプリケーションに静的にリンクしようとしています。私は、これ以外のリンク中にすべてのエラーを修正しました。 未定義のシンボル:__strtodリンクエラー:未定義シンボル:___strtod

私は私がリンクしていますliblualib.aをコンパイルするために使用さMinGWのコンパイラからlibkernel32.a、libuser32.aとlibmsvcr.a経由でリンクすることができた他の未定義シンボルのすべてdllを使用する代わりに。

私はこの静的なリンクを持っていて、動的ではないリンクを持っています。ですから、どのような.a libファイルが___strtodで定義されているのか知ることができます。

これはC99の機能であり、MinGW、GCCがサポートしています。だから、私はそれが付属のlib(.a)ファイルの1つにあると思うだろう。

ありがとう、

+1

'strtod'も(C99と同様の機能を有する)C89に記載しました。 – pmg

答えて

0

私はそれが働くようになったときに私の質問に答えたことはありませんでした。

私はCで関数をオンラインで検索し、MinGWを使って静的ライブラリにコンパイルしました。私が作成したlibstrtod.aファイルを使って、FreePascalでコンパイルされたプログラムに静的にリンクすることができました。

私は契約以来このプロジェクトのソースをあきらめていたので、これを共有する例を覚えようと思います。

すべての回答と提案に感謝します。継続する

...

0

これはCライブラリlibcの一部です。しかし、私はあなたがそれに静的にリンクできるかどうかはわかりません。 (libcの静的バージョンを提供するシステムはまだありますか?)

LibcはCプログラムではデフォルトでリンクされています。

+0

cygwinにlibc.aファイルがあるようですが、リンクしていますが、___strdotシンボルは含まれていません。 –

0

静的バージョンのライブラリを使用するmakeファイルを作成するだけです。 静的ライブラリは通常、動的ライブラリよりもはるかに大きくなります。 newlibをダウンロードし、ソースをluaランタイムで直接コンパイルすることができます。 newlibがMinGWで動作すると推測しています。

こちらがお役に立てば幸いです。

関連する問題