瀏覽單個文章
mrLaba
*停權中*
 
mrLaba的大頭照
 

加入日期: Jan 2014
文章: 7
請教 C++ duplicate symbol 修復問題

終端機編譯的時候出現 duplicate symbol

錯誤的地方在這裡(紅字部分)
xxx.c
代碼:
#include "xxx.h"
.....略
	if (ssse3_obj->islegacy) {
		_store_mmx (ssse3_obj->udo_dst->base - UD_R_MM0, &ssse3_obj->dst.uint64[0]);
		if (ssse3_obj->udo_src->type == UD_OP_REG) {
			_store_mmx (ssse3_obj->udo_src->base - UD_R_MM0, &ssse3_obj->src.uint64[0]);


		_store_xmm (ssse3_obj->udo_dst->base - UD_R_XMM0, &ssse3_obj->dst.uint128);
		if (ssse3_obj->udo_src->type == UD_OP_REG) {
			_store_xmm (ssse3_obj->udo_src->base - UD_R_XMM0, &ssse3_obj->src.uint128);


xxx.h 內容

代碼:
inline void _store_xmm (const uint8_t n, __uint128_t *where)
{
	switch (n) {
case 0:  storedqu_template(0, where); break;
case 1:  storedqu_template(1, where); break;
case 2:  storedqu_template(2, where); break;
case 3:  storedqu_template(3, where); break;
case 4:  storedqu_template(4, where); break;
case 5:  storedqu_template(5, where); break;
case 6:  storedqu_template(6, where); break;
case 7:  storedqu_template(7, where); break;
case 8:  storedqu_template(8, where); break;
case 9:  storedqu_template(9, where); break;
case 10: storedqu_template(10, where); break;
case 11: storedqu_template(11, where); break;
case 12: storedqu_template(12, where); break;
case 13: storedqu_template(13, where); break;
case 14: storedqu_template(14, where); break;
case 15: storedqu_template(15, where); break;
}}
     
      
舊 2014-01-22, 09:48 AM #1
回應時引用此文章
mrLaba離線中