Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法打开python库。Panda3D项目。VS 我刚刚开始了一个用PANDA3D的C++项目。(Visual Studio 2010)_C++_Visual Studio 2010_Python 2.7_Panda3d - Fatal编程技术网

无法打开python库。Panda3D项目。VS 我刚刚开始了一个用PANDA3D的C++项目。(Visual Studio 2010)

无法打开python库。Panda3D项目。VS 我刚刚开始了一个用PANDA3D的C++项目。(Visual Studio 2010),c++,visual-studio-2010,python-2.7,panda3d,C++,Visual Studio 2010,Python 2.7,Panda3d,对于一个简单的HelloWorld,我添加了路径等。没有编译错误,除了: 刚刚出现一个错误: error LNK1104: cannot open file 'python27_d.lib' 我也不知道如何修复它 请帮忙 谢谢 你可以做几件事 1) 只是在发布模式下构建(这不是一个好的解决方案,因为这种方式无法很好地调试) 2) 添加另一个基于“Release”但带有调试符号且没有\u debug预处理器定义的构建配置(可能会弄乱一些库) 3) 在VisualStudio2010中查找或生

对于一个简单的HelloWorld,我添加了路径等。没有编译错误,除了:

刚刚出现一个错误:

 error LNK1104: cannot open file 'python27_d.lib' 
我也不知道如何修复它

请帮忙


谢谢

你可以做几件事

1) 只是在发布模式下构建(这不是一个好的解决方案,因为这种方式无法很好地调试)

2) 添加另一个基于“Release”但带有调试符号且没有
\u debug
预处理器定义的构建配置(可能会弄乱一些库)

3) 在VisualStudio2010中查找或生成包含调试和发布库的Python 2.7版本

4) 只需将
pyconfig.h
中链接到*.lib文件的这一部分更改为仅对这两种配置使用
python27.lib

/* For an MSVC DLL, we can nominate the .lib files used by extensions */
#ifdef MS_COREDLL
#   ifndef Py_BUILD_CORE /* not building the core - must be an ext */
#       if defined(_MSC_VER)
            /* So MSVC users need not specify the .lib file in
            their Makefile (other compilers are generally
            taken care of by distutils.) */
#           ifdef _DEBUG
#       //-----------------------change the next line-------------//
#               pragma comment(lib,"python27_d.lib") 
#           else
#               pragma comment(lib,"python27.lib")
#           endif /* _DEBUG */
#       endif /* _MSC_VER */
#   endif /* Py_BUILD_CORE */
#endif /* MS_COREDLL */

1) 2)和4)是黑客解决方案,因此我建议您尝试使用3)。

您需要修改与panda捆绑的python安装,以解决此问题。但是,您可以切换到“Release”并编译,而不会出现问题。如果我没记错的话,有一个头文件有一个
\ifdef\u DEBUG
,然后链接到
python27\u d.lib
。或者,您可以尝试使用Visual Studio 2010查找并下载或构建python 2.7的调试版本。您使用的是哪个版本的Panda3D?1.8.1版本与MSVC 2010不兼容,如果你想使用MSVC 2010,你需要使用最新的buildbot版本(在下载页面上单击“devel”)。我刚刚尝试了所有这些,但都不起作用。发行版上的构建配置产生了其他编译错误->找不到库panda3d…您在这两种配置中都添加了正确的库了吗?他们完全分开了。因此,如果在调试中将*.lib文件添加到link中,则仍然需要在发布时添加它们(除非在“所有配置”中添加它们)。因此,请确保在这两种配置中都添加了所有必要的目录和文件。您应该在发布模式下编译,不要定义调试,也不要定义NDEBUG。在发布模式下编译并不意味着无法调试-如果需要,您仍然可以启用调试符号。