c 呼叫python鏈結的問題及解決方法

2021-08-10 19:00:35 字數 462 閱讀 6413

1>pythoniniti.obj : error lnk2019: 無法解析的外部符號 __imp___py_negativerefcount,該符號在函式 "public: __thiscall boost::python::api::object_base::~object_base(void)" (??1object_base@api@python@boost@@qae@xz) 中被引用

1>pythoniniti.obj : error lnk2001: 無法解析的外部符號 __imp___py_reftotal

解決方法

修改兩個標頭檔案

1 注釋掉object.h第56行

//#define py_trace_refs

2 pyconfig.h 375行

//#    define py_debug

以上兩個巨集定義注釋掉以後重新編譯 問題解決

C 呼叫Python及間接呼叫Python三方庫

本文章目的是脫離安裝python環境的前提下,由c 程式呼叫python程式及python相關三方庫 紅色部分是生成路徑下直譯器執行時依賴 將紅色部分拷貝到c 編譯主exe路徑下即可,並把需要允許的py檔案頁考過去 也就是.py檔案需和編譯生成的.exe檔案放在一起 藍色部分是vs配置編譯時依賴,需...

Python呼叫C 動態鏈結庫

1 安裝vs2010,或者以上的版本 2 建立win32應用程式,應用程式型別選擇dll。由於python是64位的,因此需要將win32程式設定為x64,即64位的。3 編寫程式add.cpp 4 編寫標頭檔案add.h。由於 比較少,也可以申明直接放在add.cpp中,此處為了規範,還是分開寫的...

C 呼叫C鏈結庫會出現的問題

以下是假設舊的c程式庫 c的標頭檔案 c.h ifndef c h define c h extern int add int x,int y endif c的原始檔 c.c int add int x,int y c 的呼叫 cpp.cpp include c.h void main 這樣編譯會產...