【问题标题】:How can I build a C++ program in python?如何在 python 中构建 C++ 程序?
【发布时间】:2020-06-27 12:06:01
【问题描述】:

我正在使用 Anaconda。我想从 github 构建一个源代码: https://github.com/mmolero/pypoisson

当我在终端中使用以下命令时,会出现以下错误: 命令:python setup.py build

错误:

running build running build_ext 跳过 'src\pypoisson.cpp' Cython 扩展(最新)构建“pypoisson”扩展 C:\Program Files (x86)\微软视觉 Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\lib\site-packages\numpy\core\include" “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include""-IC:\Program 文件 (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program 文件 (x86)\Windows 工具包\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc\pypoisson.cpp /Fobuild\temp.win-amd64-3.6\Release\src\pypoisson.obj -w -fopenmp cl: 命令行警告 D9025:用 '/w' 覆盖 '/W3' cl:命令 行警告 D9002:忽略未知选项 '-fopenmp' pypoisson.cpp c:\用户\易卜拉欣 khalilullah.conda\envs\pypoissonopen3d\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : 警告消息:使用已弃用的 NumPy API,使用 #define 禁用它 NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\微软视觉 Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\lib\site-packages\numpy\core\include" “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include""-IC:\Program 文件 (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program 文件 (x86)\Windows 工具包\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc/PoissonRecon_v6_13/src/CmdLineParser.cpp /Fobuild\temp.win-amd64-3.6\Release\src/PoissonRecon_v6_13/src/CmdLineParser.obj -w -fopenmp cl:命令行警告 D9025:用“/w”覆盖“/W3” cl:命令行警告 D9002:忽略未知选项 '-fopenmp' CmdLineParser.cpp C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\lib\site-packages\numpy\core\include" “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include""-IC:\Program 文件 (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program 文件 (x86)\Windows 工具包\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc/PoissonRecon_v6_13/src/Factor.cpp /Fobuild\temp.win-amd64-3.6\Release\src/PoissonRecon_v6_13/src/Factor.obj -w -fopenmp cl:命令行警告 D9025:用“/w”覆盖“/W3” cl:命令行警告 D9002:忽略未知选项 '-fopenmp' Factor.cpp C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\lib\site-packages\numpy\core\include" “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” “-IC:\Users\Ibrahim Khalilullah.conda\envs\PypoissonOpen3d\include” "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include""-IC:\Program 文件 (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program 文件 (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program 文件 (x86)\Windows 工具包\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc/PoissonRecon_v6_13/src/Geometry.cpp /Fobuild\temp.win-amd64-3.6\Release\src/PoissonRecon_v6_13/src/Geometry.obj -w -fopenmp cl:命令行警告 D9025:用“/w”覆盖“/W3” cl:命令行警告 D9002:忽略未知选项 '-fopenmp' 几何.cpp d:\feasibilityanalysis2020_3\3dpointcloud3dvision\removenoiseandtin\code\pypoisson\src\poissonrecon_v6_13\src\Geometry.h(33): 致命错误 C1189:#error:需要 OpenMP 错误:命令 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe' 退出状态为 2 失败

不仅对于此源代码,而且对于其他代码都无法构建。 需要注意的是,我在我的PC中安装了visual 2015、visual 2017、GCC编译器。操作系统为 Windows 10。

不同的源代码需要不同类型的编译器,我该如何解决这个问题?

【问题讨论】:

    标签: python msbuild anaconda mingw-w64


    【解决方案1】:

    该输出的关键部分是fatal error C1189: #error: OpenMP is required。猜测一下,我会说这意味着您需要有可用的 OpenMP,而您不需要。有another SO thread on installing OpenMP on Windows,其中包括一些pretty recent answers

    【讨论】:

      猜你喜欢
      • 2011-07-18
      • 1970-01-01
      • 2011-05-05
      • 2019-03-19
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多