環(huán)境配置
(1)python的lib 以及頭文件分別加到vc的include/lib directories中去。
(2)寫完編譯后出現(xiàn)找不到python33_d.lib 錯(cuò)誤,出現(xiàn)這個(gè)錯(cuò)誤的原因是:python_d.lib是 庫(kù)的調(diào)試后形式,當(dāng)我們以debug模式編譯工程時(shí),python就用這個(gè)lib文件,但是這個(gè)文件是不可用 的。對(duì)于這點(diǎn),最快的辦法就是強(qiáng)制要求python在任何情況下都是用非調(diào)試版本,就可以了。
所以要做的是:
- 修改python頭文件pyconfig.h的配置,修改指向調(diào)試庫(kù)文件的參數(shù),由
- # if defined(_DEBUG)
- # pragma comment(lib,"python33_d.lib")
- # elif defined(Py_LIMITED_API)
- # pragma comment(lib,"python3.lib")
- # else
- # pragma comment(lib,"python33.lib")
- # endif /* _DEBUG */
修改為:
- # if defined(_DEBUG)
- # pragma comment(lib,"python33.lib")
- # elif defined(Py_LIMITED_API)
- # pragma comment(lib,"python3.lib")
- # else
- # pragma comment(lib,"python33.lib")
- # endif /* _DEBUG */
(3)在Visual Studio中編譯時(shí)必須注意,若Python為64bit而VS C++ Project Config里的platform是32bit,會(huì)報(bào)錯(cuò):
- Error 1 error LNK2019: unresolved external symbol __imp__Py_Finalize referenced in function _main
- Error 2 error LNK2019: unresolved external symbol __imp__PyEval_CallObjectWithKeywords referenced in function _main
- Error 3 error LNK2019: unresolved external symbol __imp__PyObject_GetAttrString referenced in function _main
- Error 4 error LNK2019: unresolved external symbol __imp__PyImport_ImportModule referenced in function _main
- Error 5 error LNK2019: unresolved external symbol __imp__Py_Initialize referenced in function _main
- Error 6 error LNK1120: 5 unresolved externals
注意修改自己的platform