vs可以编译python_python在vs2013下的编译

python在vs2013下的编译:使用VS的工具来编译python,能够享受vs调试的便利性。从目前的体验来看,老版本甚至当前的python2系列,都未能及时赶上vs的进度。

尽管如此,在利用vs自带的版本工程文件upgrade功能,也能够完全满足编译python和pythoncore以及其他一些module的需求(有一些会存在一些问题)。

然而,看着26个工程中,若干不能编译成功,感觉很是碍眼。所以花了一些工夫来完成一些模块的编译。现在简单记录一下,以备后查。

准备工作

下载外部依赖工程

参考使用 Visual Studio 2015 编译 Python 2.7.11给出的github下载地址,或者利用python2.7.13中的get_externals.bat来下载(需要安装tortoiseSVN,命令行选项,才会有svn命令),下载存放在python根目录的externals下 Tcl/TK安装,应该也可以下载源码编译;但是都没有具体去看这一对是干什么的,也就下载了相应的prebuild版本ActiveTCL安装,get到相应的include、lib和dll

编译外部依赖库

因为有两个工程还需要perl,就放掉了。这几个工程的vs版本都比较陈旧,用的vc6.0的dsw工程。upgrade一下,甚至需要再次upgrade一下。

bzip2-1.0.6 db-4.7.25.0 需要注意一点是平台配置需要与python的平台配置一样,不如都是x64的debug

编译过程

_bsddb工程: 头文件、lib文件路径从externals的db中引入;libdb47d.lib输入;libdb47d.dll放置到生成目录 bz2工程:同上,引入bzip2的文件 _tkinter工程:从ActiveTCL安装目录引入,同上

error LNK1181: 无法打开输入文件“….tcltk64libtcl85g.lib ….tcltk64libtk85g.lib” 原因是之前工程的配置宏失效,引用的是85版本的库 sqlite3工程:将externals的sqlite-3.8.11.0文件添加进来,生成的文件给_sqlite使用 如此,大部分module都可以编译通过,除了_ssl和_hashlib需要更多安装更多,放弃。 自定义生成事件中的宏失效 然后就可以开心的hack python了

后记

连续配置了2.6.3和2.7.8两个版本,都顺利编译了除_ssl和_hashlib(这两个依赖openssl的工程)外的所有工程;external中的openssl也没有编。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要添加python_viz.hpp头文件,需要在编译OpenCV时启用Python支持,并使用CMake将相关的选项设置为ON。 具体步骤如下: 1. 确保已经安装了Python和相关的开发库,例如Python-dev或Python3-dev。 2. 下载OpenCV源代码,进入源代码目录。 3. 创建一个build目录,并进入该目录: ``` mkdir build cd build ``` 4. 使用CMake生成Makefile: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D WITH_CUDA=OFF \ -D WITH_CUDNN=OFF \ -D WITH_TBB=ON \ -D ENABLE_FAST_MATH=1 \ -D CUDA_FAST_MATH=0 \ -D WITH_OPENMP=ON \ -D WITH_OPENGL=ON \ -D WITH_EIGEN=ON \ -D PYTHON_DEFAULT_EXECUTABLE=$(which python) \ -D PYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \ -D PYTHON_LIBRARY=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \ -D PYTHON3_DEFAULT_EXECUTABLE=$(which python3) \ -D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \ -D PYTHON3_LIBRARY=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \ -D BUILD_opencv_python3=ON \ .. ``` 其中,`-D BUILD_opencv_python3=ON`选项用于启用Python3支持。 5. 执行make命令进行编译: ``` make -j4 ``` 6. 安装OpenCV: ``` sudo make install ``` 7. 在Python中使用python_viz.hpp头文件: ``` import cv2 from cv2 import viz # 在此处使用viz相关的函数 ``` 注意,在使用python_viz.hpp时,还需要确保已经安装了vtk和vtk-dev库。在Ubuntu上,可以使用以下命令进行安装: ``` sudo apt-get install libvtk7-dev sudo apt-get install vtk7 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值