我正在尝试在VS2008中编译PHP扩展。它取决于我静态链接的其他3个项目。 当我将所有代码放在一个.cpp文件中时,它曾经工作正常。 我将代码分成几个文件,使其更易于管理,现在无法编译。
我收到了几个(每个文件约100个)链接器错误,LNK2005(已定义)。我认为所有这些都与运行时库相关。
到目前为止,我已经尝试了
有什么想法吗?
编辑:以下是一些错误: 一些错误:
MPQBlock.obj : error LNK2005: _getwchar already defined in MPQArchive.obj
MPQBlock.obj : error LNK2005: _putwchar already defined in MPQArchive.obj
MPQBlock.obj : error LNK2005: _acosl already defined in MPQArchive.obj
MPQBlock.obj : error LNK2005: _asinl already defined in MPQArchive.obj
etc.
MPQFile.obj : error LNK2005: _asinf already defined in MPQArchive.obj
MPQFile.obj : error LNK2005: _atanf already defined in MPQArchive.obj
MPQFile.obj : error LNK2005: _atan2f already defined in MPQArchive.obj
MPQFile.obj : error LNK2005: _ceilf already defined in MPQArchive.obj
MPQFile.obj : error LNK2005: _cosf already defined in MPQArchive.obj
etc.
PHPExtension.obj : error LNK2005: _acosl already defined in MPQArchive.obj
PHPExtension.obj : error LNK2005: _asinl already defined in MPQArchive.obj
PHPExtension.obj : error LNK2005: _atanl already defined in MPQArchive.obj
PHPExtension.obj : error LNK2005: _atan2l already defined in MPQArchive.obj
etc.
zlibd.lib(zutil.obj) : warning LNK4217: locally defined symbol _malloc imported in function _zcalloc
zlibd.lib(zutil.obj) : warning LNK4217: locally defined symbol _free imported in function _zcfree
D:\Server\PHP\ext\php_mpq_library.dll : fatal error LNK1169: one or more multiply defined symbols found
答案 0 :(得分:0)
更改可能有用的链接库的顺序...你能发布一些错误......它会让图片更清晰......
在“忽略库”框中,插入库名称(例如,Nafxcwd.lib; Libcmtd.lib)。
注意/ NOD中的链接器命令行等效项:。