ライブラリの競合について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
nayo

ライブラリの競合について

#1

投稿記事 by nayo » 16年前

またも質問失礼します

先日質問したプロジェクトなのですがReleaseモードでビルドすると以下のエラーが発生しました

1>libcmtd.lib(dbgheap.obj) : error LNK2005: __heap_alloc は既に LIBCMT.lib(malloc.obj) で定義されています。
1>libcmtd.lib(dbgheap.obj) : error LNK2005: __recalloc は既に LIBCMT.lib(recalloc.obj) で定義されています。
(中略)
1>LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'libcmtd.lib' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。

調べてみるとリンクされるライブラリとプロジェクトのランタイムライブラリの設定が違うと起きるようなのですが解決策が分からない状況です
どのようにすれば上記のエラーを回避することができるでしょうか
どなたかご回答お願いします

環境はVisual C++ 2008 Express Edition
使っているマルチスレッドは以下のような感じのものです

---------------------------------------------------
#include <windows.h>
#include <process.h>

unsigned __stdcall threadFirstLoad( void *lpx );
---------------------------------------------------

nayo

Re:ライブラリの競合について

#2

投稿記事 by nayo » 16年前

失礼いたしました
単にデバッグモードか、リリースモードかでリンクするライブラリを分け忘れていたという単純なものでした
以後気をつけます…

閉鎖

“C言語何でも質問掲示板” へ戻る