第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 cython 中訪問(wèn) C++ 模板類

在 cython 中訪問(wèn) C++ 模板類

浮云間 2023-10-26 15:39:37
我有一個(gè)名為的模板類,List在名為的文件中定義containers.h:#include <iostream>#include <vector>namespace containers {    template <class T> class List {        private:            std::vector<T> vector;        public:            List() {};            ~List() {};            void append(T* item) {                vector.push_back(*item);            }            void print_items() {                for ( T item : vector ) {                    std::cout << item << std::endl;                }            }    };}我正在嘗試使用以下代碼將此類導(dǎo)入 Cython main.pyx:#!python# cython: language_level = 3# distutils: language = c++cdef extern from "containers.h" namespace "containers":    cdef cppclass List[T]:        List() except +        void append(T *item)        void print_items()def test():    cdef List[int] *l = new List[int]()    cdef int i    for i in range(10):        l.append(&i)    l.print_items()這就是當(dāng)我嘗試運(yùn)行此代碼時(shí)發(fā)生的情況:>>> import mainTraceback (most recent call last):  File "<stdin>", line 1, in <module>ImportError: /home/arin/Desktop/Misc/test_cpp/main.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN10containers4ListIiEC1Ev為什么我會(huì)收到此錯(cuò)誤以及如何修復(fù)它?
查看完整描述

1 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

這只是編譯時(shí)的一個(gè)愚蠢錯(cuò)誤:在setup.py我傳遞"main.cpp"cythonize函數(shù)而不是"main.pyx",并且在編譯時(shí)并沒(méi)有導(dǎo)致錯(cuò)誤,因?yàn)槲矣辛硪粋€(gè)名為main.cpp.



查看完整回答
反對(duì) 回復(fù) 2023-10-26
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)