開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual Studio 2012 中的 VC++ CLR專案 拉Windows Form
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenCV (應該不重要)
問題(Question):
我在專案內定義了自己寫的class A(A.h、A.cpp)
然後在Form.h內宣告了該class的全域物件(A objA;) 如下所示
#include "A.h"
#include ...
A objA;
namespace main {
...
}
並進行各種操作運算
問題在於 在編譯時 會出現以下錯誤
錯誤 1 error LNK2005: "class A objA" (?objA@@3VA@@A) 已在
main.obj 中定義過了
錯誤 2 error LNK1169: 找到有一或多個已定義的符號
目前解法是在連結器->命令列中加入以下參數
/FORCE:MULTIPLE
這告訴Linker要忽略物件的第二個定義
想請問有沒有大大了解其中原因並提供更好的解法@@
謝謝。