|
*停權中*
|
請教 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;
}}
|