[問題] template 編譯錯誤
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux/g++
// 將 template 宣告在 quaternion.h , 函數實作在 quaternion.cpp
https://gist.github.com/anonymous/00090f1598973c1c924afebf88199cc9
這樣編譯下面錯誤
g++ main.cpp quaternion.cpp -o main
/tmp/ccnOQeym.o: In function `main':
main.cpp:(.text+0x27): undefined reference to
`Quaternion<float>::Quaternion()'
main.cpp:(.text+0x38): undefined reference to
`Quaternion<float>::~Quaternion()'
collect2: error: ld returned 1 exit status
我把template 宣告跟實做都集中在 quaternion.h 可以編譯過
https://gist.github.com/anonymous/21a12dfedf6982b963d249f890977aaf
g++ main.cpp -o main
請問這是什麼原因造成?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.180.254
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1474555677.A.11B.html
※ 編輯: gigigigi (175.182.180.254), 09/22/2016 22:48:27
推
09/22 23:07, , 1F
09/22 23:07, 1F
→
09/22 23:07, , 2F
09/22 23:07, 2F
→
09/22 23:08, , 3F
09/22 23:08, 3F
→
09/22 23:11, , 4F
09/22 23:11, 4F
※ 編輯: gigigigi (175.182.180.254), 09/22/2016 23:13:00
→
09/22 23:13, , 5F
09/22 23:13, 5F
→
09/22 23:14, , 6F
09/22 23:14, 6F
→
09/22 23:36, , 7F
09/22 23:36, 7F
推
09/22 23:37, , 8F
09/22 23:37, 8F
→
09/22 23:37, , 9F
09/22 23:37, 9F
→
09/22 23:38, , 10F
09/22 23:38, 10F
→
09/22 23:38, , 11F
09/22 23:38, 11F
→
09/22 23:39, , 12F
09/22 23:39, 12F
→
09/22 23:40, , 13F
09/22 23:40, 13F
→
09/22 23:41, , 14F
09/22 23:41, 14F
→
09/22 23:43, , 15F
09/22 23:43, 15F
→
09/22 23:43, , 16F
09/22 23:43, 16F
→
09/22 23:49, , 17F
09/22 23:49, 17F
→
09/23 00:24, , 18F
09/23 00:24, 18F
→
09/23 00:25, , 19F
09/23 00:25, 19F
推
09/23 04:02, , 20F
09/23 04:02, 20F
→
09/23 04:02, , 21F
09/23 04:02, 21F
→
09/23 04:03, , 22F
09/23 04:03, 22F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
14
42