我有一个使用Qt5(也编译Qt4)的C ++项目,我想在python中使用(最好是3.4)。 为了做到这一点,我使用PyQt4(由于QtXml模块,据我所知,不再在PyQt5中可用)和啜饮。 这一切都完美地在我的Linux机器上。 但不幸的是,我需要它的Windows,并不能得到它运行。 我到目前为止所做的:
从现在开始,我不确定要做什么。 我不得不承认,我对图书馆不了解。
CONFIG += staticlib
和TEMPLATE = lib
编译的。 产生的* .lib(这里是:xml2db.lib)被复制到我的sip文件所在的文件夹(例如sipxml2dbcmodule.cpp) 所以通过“VS命令提示符”nmake会引发致命(链接)错误。 我不确定所需的编译器标志应该是什么,或者如果staticlib是错误的。 我的标志是:
LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:$(TARGET).manifest /SUBSYSTEM:WINDOWS /INCREMENTAL:NO /NODEFAULTLIB:library /LIBPATH:/LIBPATH:C:\Qt\5.2.1\msvc2010\lib LIBS = /LIBPATH:C:\Python34\libs python34.lib xml2db.lib /LIBPATH:C:\Qt\5.2.1\msvc2010\lib\Qt5Xmld.lib C:\Qt\5.2.1\msvc2010\lib\Qt5Sqld.lib C:\Qt\5.2.1\msvc2010\lib\Qt5Cored.lib $(TARGET): $(OFILES) $(LINK) $(LFLAGS) /OUT:$(TARGET) $(OFILES) $(LIBS)
目标是“myTools.pyd”。 它导致
sipmyToolscmodule.cpp sipmyToolsxml2db.cpp Generating Code... link /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:myTools .pyd.manifest /SUBSYSTEM:WINDOWS /INCREMENTAL:NO /NODEFAULTLIB:library /LIBPATH: C:\Qt\5.2.1\msvc2010\lib /OUT:myTools.pyd sipmyToolscmodule.obj sipmyToolsxml2db .obj /LIBPATH:C:\Python34\libs python34.lib xml2db.lib /LIBPATH:C:\Qt\5.2.1\msvc 2010\lib\Qt5Xmld.lib C:\Qt\5.2.1\msvc2010\lib\Qt5Sqld.lib C:\Qt\5.2.1\msvc2010\l ib\Qt5Cored.lib xml2db.lib(xml2db.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_L EVEL': value '2' doesn't match value '0' in sipmyToolscmodule.obj MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_i nfo(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIB CMT.lib(typinfo.obj) MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj) Creating library myTools.lib and object myTools.exp LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; u se /NODEFAULTLIB:library myTools.pyd : fatal error LNK1169: one or more multiply defined symbols found NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0 \VC\BIN\link.EXE"' : return code '0x491' Stop.
我会很高兴的回答或新的想法。 提前致谢。
编辑我不知道我是如何解决它,但这里有一些更多的提示,帮助我解决它。
祝你有个相似的问题