1. 程式人生 > >vs2010呼叫python的方法

vs2010呼叫python的方法

最近需要使用python的一些功能便捷開發C++程式,因為之前沒有做過所有遇到了些麻煩。那就是如何連線python

我去網上好多人且大多說都是:

將lib和include包含到vc++目錄就可以。

但是呢........下面這些錯誤有木有!!! 

1>LINK : fatal error LNK1104: 無法開啟檔案“python27_d.lib”

解決方法:

#define MS_NO_COREDLL

//或者這個    #define Py_NO_ENABLE_SHARED
#include <python.h>

在呼叫python.h的前面加上上面的兩個define中的任意一個就行

至於為什麼,不好意思沒有研究過。但是解決方法我轉載了:http://blog.csdn.net/sunyan3517/article/details/51206958    大家可以看看

好了終於不報這個錯誤了,以為萬事大吉了可以一編譯。我去還不如找不到檔案(呵呵...)。下面的錯誤坑啊

1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _Py_Finalize,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyEval_CallObjectWithKeywords,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _Py_BuildValue,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyObject_GetAttrString,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyArg_Parse,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyRun_StringFlags,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyModule_GetDict,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyImport_ImportModule,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _PyRun_SimpleStringFlags,該符號在函式 _wmain 中被引用
1>TraversalFolder.obj : error LNK2019: 無法解析的外部符號 _Py_Initialize,該符號在函式 _wmain 中被引用

是不是很蛋疼.....

這些就是因為並沒有完整的新增完需要的資訊

以下為所有設定資訊:

1  專案 ==》》專案屬性 == 》》配置屬性==》》vc++目錄

在這裡新增lib和include

2 專案 ==》》專案屬性 == 》》配置屬性==》》聯結器==》》輸入

在這裡新增C:\Python27\libs\python27.lib;  (當然這裡是我的python的版本lib和安裝路徑,你的可能就不一樣了,要是預設安裝只需要將版本號改了就行了)

上面的錯誤就是第二點引起的