是PythonQt:pythonqt.sourceforge.net。我正在使用PythonQt-1.1。 Qt版本4.6.2和Python 2.6.4.10。 Visual Studio 2008 来自指示:
cd PythonQtRoot
vcvars32
qmake
nmake
在我输入qmake后,它生成了makefile,然后我输入了nmake,但它说“makefile(22):致命错误U1000:语法错误:')'在宏调用停止时丢失。”我在这里做错了什么?
提前致谢....
答案 0 :(得分:0)
我记得在Win32上使用最新版本的Qt构建其他软件包时遇到了类似的问题。顺便说一句,我在cygwin下运行。经过大量的调试后,我发现'qmake'使用了错误的'mkspec'。帮助这种情况的一件事是强制使用正确的mkspec,如下所示:
导出QMAKESPEC = win32-msvc2008 要么 export QMAKESPEC = win32-msvc
要查找所有有效mkspec的列表,我查看了目录: C:\的Qt \ 4.6.0 \ mkspecs 要么 C:\ Qt的\ 2010.01 \ QT \ mkspecs
对于一个特定的软件包,我与系统上安装的其他工具有一些冲突,并且必须使用绝对路径编辑实际的mkspec文件以指向正确的工具,但听起来这不是你的问题。听起来你的生成与gmake兼容的Makefile而不是与nmake兼容的Makefile,所以这个修复应该有用。
- 格伦
答案 1 :(得分:0)
我的建议是将PythonQt项目作为与CMake完全相同的项目的一部分。
然后您只需要静态地将其构建为项目的一部分(从基础add_library
中的CMakeLists.txt
中删除共享,记住如果您希望它如此,则必须从其基础project(PythonQt)
中移除CMakeLists.txt
,然后将以下内容添加到正确的CMakeLists.txt
基本文件中:
if( PYTHON_QT_SUPPORT )
message(STATUS ":::: Including support for PythonQT Shell ::::")
# Include Python directories
find_package(PythonLibs REQUIRED)
include_directories("${PYTHON_INCLUDE_DIR}")
# Include PythonQt
include_directories(YOURPATHTOPYTHONQT/pythonqt/src)
add_subdirectory(YOURPATHTOPYTHONQT/pythonqt)
endif(PYTHON_QT_SUPPORT)
答案 2 :(得分:0)
您是否确保更新构建文件夹中的Python / Qt版本,并在您的环境中包含您需要的所有内容?
在build \ python.prf中: 更新python版本
使用Visual Studio命令提示符并跳过vcvars32。
设置您的环境路径:
set PATH=E:\toolkits\Trolltech\Qt-4.8.6\Win_x64_6.1_v12_debug\lib;%PATH%
set PATH=E:\toolkits\Trolltech\Qt-4.8.6\Win_x64_6.1_v12_debug\bin;%PATH%
set PYTHON_PATH=E:\toolkits\Python\2.7.9\Win_x64_6.1_v12
set PYTHON_LIB=E:\toolkits\Python\2.7.9\Win_x64_6.1_v12\libs
在这些路径中,您应该可以使用:
我还必须更新其他.prf文件,以确保在调试dll上绑定时正确完成调试扩展。