奇妙な質問:私はVisual Studioでスタティックライブラリを構築していますが、実行可能なプロジェクトでも使用するユーティリティ関数のリストを含むソースファイルを使用しています。静的ライブラリをインポートしています。その結果、私はこのようなエラーを取得しています:それらは実際の実行可能なプロジェクトでネイティブに存在しているので、私は、util.obj内の関数をエクスポートしないようにVisual Studioのを取得する方法を見つけ出すことができる方法Visual Studioで静的ライブラリの関数をエクスポートできないようにする
4>newfuncs.lib(util.obj) : error LNK2005: _shift_left already defined in util.obj
4>newfuncs.lib(util.obj) : error LNK2005: _chop already defined in util.obj
4>newfuncs.lib(util.obj) : error LNK2005: _crc_begin already defined in util.obj
4>newfuncs.lib(util.obj) : error LNK2005: _crc_update already defined in util.obj
4>newfuncs.lib(util.obj) : error LNK2005: _crc_result already defined in util.obj
4>newfuncs.lib(util.obj) : error LNK2005: _strtok_r already defined in util.obj
誰もが知っています。
静的ライブラリまたはDLLを構築していますか?あなたのタイトルと質問には同意できません。 –
私の間違い:私は静的ライブラリを生成しています。私のランタイムライブラリの設定は、/ MTと/ MTdです。 – Femi
/MTと/ MTdはリンク先のCおよびC++ランタイムライブラリ(静的または動的)です。彼らはあなたが作っているライブラリが静的であるのかダイナミックであるのかとは何の関係もありません。 –