作者dick1024 (生活撐下去)
看板C_and_CPP
標題[問題] lib 重複定義
時間Wed Mar 31 17:17:20 2010
我是用VC++ 2008 撰寫一個程式
我的"原始程式檔"內包含兩個cpp
利用extern來串連
一個code 用到mpi的lib 一個用到cuda的lib
所以 在屬性→連結器→輸入 msmpi.lib cudart.lib
我在編譯時 出現很多錯誤 大致內容為下.....
LIBCMT.lib(setlocal.obj) : error LNK2005: _configthreadlocale 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
1>LIBCMT.lib(tidtable.obj) : error LNK2005: _encode_pointer 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
1>LIBCMT.lib(tidtable.obj) : error LNK2005: _decode_pointer 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
1>LIBCMT.lib(lconv.obj) : error LNK2005: localeconv 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
1>LIBCMT.lib(_file.obj) : error LNK2005: __iob_func 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
1>LIBCMT.lib(trnsctrl.obj) : error LNK2005: __CxxFrameHandler3 已在
MSVCRTD.lib(MSVCR90D.dll) 中定義過了
其實有N個錯誤 我只貼上部分幾個
這些錯誤訊息共同點都一樣 LIBCMT.lib... MSVCRTD.lib(MSVCR90D.dll) 中定義過了
我初步判斷是 "連結器" 部分設定 還是.....!?
但現在卻一直想不出 該如何解決這問題
請高手鄉民 給小弟一個解決方向 Orz...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.64.185.202
※ 編輯: dick1024 來自: 203.64.185.202 (03/31 20:14)
※ 編輯: dick1024 來自: 203.64.185.202 (03/31 20:15)
→ kingofsdtw:C++的話,或許可以用Class繼承方式來避免錯誤 03/31 21:04
→ dick1024:哈 我自己解決了 謝謝 1F 2F 大大指教 在此提供我的方法 03/31 21:57
→ dick1024:專案→屬性→連結器→輸入→忽略特定程式檔 03/31 21:57
→ dick1024:輸入MSVCRTD.lib 03/31 21:58