gpt4 book ai didi

c++ - 无法将 pdcurses 静态调试版本与 VS2013 链接

转载 作者:太空宇宙 更新时间:2023-11-04 13:43:21 24 4
gpt4 key购买 nike

我下载并编译了 pdcurses。按照他们的文档中的指示,我使用了:

nmake -f vcwin32.mak DEBUG=Y pdcurses.lib

我还构建了没有 DEBUG 标签的 pdcurses,这样我就可以处于 Release模式。

现在,我有一个项目,我想在其中静态链接 pdcurses。我使用 MT 和 MTd 作为运行时库,并且在调试时从 DEBUG 构建链接 .lib 文件,在发布时链接其他 .lib 文件。

当我在 Release模式下构建我的项目时一切正常,但是当我尝试在 Debug模式下构建时出现错误:

1>LIBCMT.lib(invarg.obj) : error LNK2005: "void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invalid_parameter@@YAXPBG00II@Z) already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: "void __cdecl _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invoke_watson@@YAXPBG00II@Z) already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __call_reportfault already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __get_invalid_parameter_handler already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __initp_misc_invarg already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: ___pInvalidArgHandler already defined in LIBCMTD.lib(invarg.obj)
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

知道问题出在哪里吗?

最佳答案

您正在链接到调试和发布静态运行时,不要那样做。如果您不知道是哪个库导致了问题,请参阅 this guide有关检测该问题的步骤。

关于c++ - 无法将 pdcurses 静态调试版本与 VS2013 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26935731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com