INTERNATIONAL LABORATORY CORPORATION


サポート > GENWARE3 サポート > 技術情報(よくあるご質問と回答) >

VisualStudio Express 2015でビルドすると、_sprintfが未解決の外部シンボルとエラーが発生します。

組込みGUI統合開発環境 GENWARE3(ジェンウェアスリー) サポート

技術情報(よくあるご質問と回答)

ご質問

GENSKETCH3で生成したソースコードをVisualStudio Express 2015でビルドすると、以下のエラーが発生しました。

fpi.lib : error LNK2019: 未解決の外部シンボル _sprintf が関数 *** で参照されました。
fpi.lib : error LNK2001: 外部シンボル "_sprintf" は未解決です。

対策方法教えてください。

回答

このようなリンクエラーとなる原因は、VisualStudio 2015以降では”sprintf”関数が標準でサポートされないためです。
このリンクエラーは、fpi.libのビルドを行うVisualStudioプロジェクトファイルのリンク設定に”legacy_stdio_definitions.lib”というライブラリを追加することで解消できます。
legacy_stdio_definitions.libのリンク方法を以下に示します。

①fpi.libのビルドを行うプロジェクトをVisualStudioで開く。
②メニューから[プロジェクト]→[プロパティ]を開き、左側のツリーから[リンカー]→[入力]を選ぶ。
③[追加の依存ファイル]の項目に”legacy_stdio_definitions.lib”を追記する。

legacy_stdio_definitions.libをリンクした状態で作成したfpi.libを用いて、実行ファイルのビルドを行ってください。

対象製品バージョン:

管理番号:FG_G10236

資料更新日: 2021年3月4日

※この資料は、資料更新日現在のものです。


ページTOPへ

ILC商品一覧