2011-08-31 8 views
8

gccを使ってMac OS X上で正常にコンパイルできる標準Cライブラリがあります。MinGW "手続きエントリポイントlibiconvを見つけることができませんでした..."

私は、Windowsで利用可能なCコンパイラを検討し、カップルの理由のためのMinGWを選択しました:

  • MSのツールは、C99
  • Cygwinのらをサポートしていません。 al。私は
  • はLCC-Win32のは

しかし、私は自分のライブラリを構築しようとすると、私はこれを取得しています動作させることはできませんしたくないPOSIXエミュレーションと複雑さの余分なレベルを追加します。

enter image description here

このようなものはすべて非常に古風なようだ、と私は見つけることができる何もまともなリソースをオンラインには事実上存在しません。

ご協力いただければ幸いです。

ありがとうございました。

EDIT:

それは私が構築しようとしているかは重要ではありません。たとえ2つの数字を追加する関数で1つのファイルを作成したとしても。それはクラッシュします。ソースコードやgccに渡されるオプションとは何の関係もないようです。これは私のMinGWセットアップでの問題で、私のプロジェクトではないと思います。

+0

このエラーは、DLLをビルドするときに生成されますか? –

+0

私が構築しようとしていることは問題ではありません。たとえ2つの数字を追加する関数で1つのファイルを作成したとしても。それはクラッシュします。ソースコードやgccに渡されるオプションとは何の関係もないようです。 – Steve

+1

あなたのmingwのインストールがボークであることは明らかです。どのようにインストールしましたか? –

答えて

26

libiconv-2.dllを含む他のディレクトリの前に、パスにC:\ MinGW \ binがあることを確認してください。明らかに、一部のMinGWディストリビューションのas.exeはそのDLLに依存しており、パスの古いバージョン(たとえばGnuWin32ツール)を使用すると、as.exeは、探しているエントリポイントのない古いバージョンを取得します。

を参照してください:。http://sourceforge.net/tracker/index.php?func=detail&aid=3375870&group_id=200665&atid=974439

注 - 新規の方\MinGW\bin中でlibiconv-2.dll古いを交換することができるはず -はそれは古いものとの後方互換性だということを意味すべきであるDLL の命名(すなわち、彼が最近の輸出に依存していない古いソフトウェアは引き続き機能するはずです)。しかし、私はそれをテストしていないので、あなたがMinGWインストールからのものと競合するDLLを置き換えることにした場合、必ずバックアップを取ってください。

+2

興味深い。私はGnuWin32をインストールしています。これを試してみましょう。私も 'PATH'に' C:\ MinGW \ bin'を持っていますが、* GnuWin32の後ろにあると思います.GnuWin32と競合すると、システムがGnuWin32バージョン*を最初に見つけ出すと思います*。これは間違いなくここで何が起こっているのかについての説得力のある説明のようです。 – Steve

+0

ビンゴ。私はあなたにもっと票をあげることができればと思います。これはまさに問題でした(GnuWin32との競合)。 – Steve

+0

乾杯。何が起きているのか調べているうちに、現在のディレクトリ_was_ \ mingw \ binの中でgccを呼び出すとコンパイルできることが分かりました。その場合、as.exeは満足していました。しかし、他のpwdとそれはなかった。ありがとう。 as.exeが正しく起動していないだけでなく、ビルド中に何らかの不一致のdllの問題を見ていました。乾杯。 – RichColours

2

PATHが実際に更新されるように、C:\ MinGW \ binがPATH内にあることを確認するだけでなく、マシンを再起動(またはログアウト/ログイン)する必要があります。

関連する問題