1

coniolibへの呼び出しを使用するサードパーティライブラリを使用する共有ライブラリに取り組んでいます。cygwin/g++を使用してビルドしようとすると、次の未定義の参照にエラーが発生します。

__cprintf
__stricmp
__splithpath
etc..

私は自分のlibを再度リンクします。

kernel32
wsock32
gdi32

それらの参照が見つかるように、どのライブラリをリンクする必要がありますか?

PS。私が使用しているサードパーティのライブラリは、Dev-Cppを使用して構築されています

4

1 に答える 1

2

古い Borland ライブラリのコードのようです。

cprintfに直接置き換えることができますprintfprintfこれは、DOS および OS/2 の時代に、ビデオ メモリに直接出力されるの実装でした。

stricmp大文字と小文字を区別しない文字列比較です。strcasecmp代わりに使用してください。

Cygwin/Linux の splitpath に代わるものを知りません。

findutils でその実装を見つけることができるかもしれません。また、Turbovision から Linux または BSD へのポートで、splitpath の実装を見つけることもできます。

そうは言っても、splitpath* nix のようなプラットフォームでは、パス文字列をスラッシュ (/) で分割し、パスの最後の項目がファイル/リンク/ディレクトリであるかどうかを確認してから、ファイル名と拡張子の部分を設定するだけです。パス。

于 2011-02-02T12:44:13.700 に答える