gpt4 book ai didi

c - Windows cmake 找不到 memset 或其他标准函数

转载 作者:行者123 更新时间:2023-11-30 16:54:07 25 4
gpt4 key购买 nike

我正在使用 cmake 编译软件包集合,通常我会为其编写自己的 CMakeLists.txt。我必须使用 Visual Studio 9 2008 和 Visual Studio 14 2015 来编译它们

对于 VS2015 编译通常可以顺利完成,但对于 VS2008,我经常遇到 cmake 未链接到或包含某些标准 msvc 库(或特定的 msvc 运行时库)的问题。因此,如果它被模块调用,它就找不到memset()。这些模块之一是 glew,它具有以下输出:

Scanning dependencies of target glew
[ 8%] Building C object CMakeFiles/glew.dir/C_/Users/Daniel/OneDrive/src/glew-2.0.0/src/glew.c.obj
glew.c
[ 16%] Building RC object CMakeFiles/glew.dir/C_/Users/Daniel/OneDrive/src/glew-2.0.0/build/glew.rc.res
Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
Copyright (C) Microsoft Corporation. All rights reserved.

[ 25%] Linking C shared library bin\glew32.dll
Creating library lib\glew32.lib and object lib\glew32.exp
glew.c.obj : error LNK2019: unresolved external symbol memset referenced in function glewContextInit
bin\glew32.dll : fatal error LNK1120: 1 unresolved externals
LINK failed. with 1120
NMAKE : fatal error U1077: 'C:\ProgramData\chocolatey\lib\cmake.portable\tools\cmake-3.6.1-win32-x86\bin\cmake.exe' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Users\Daniel\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Users\Daniel\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\nmake.exe"' : return code '0x2'
Stop.

我知道我必须 include the libcmt.lib or msvcrt.lib (+headers) 到该项目,但我不知道如何。我找到了一些线索herehere但到目前为止,没有人带我去任何地方。从命令行调用 cmake 时是否还有一种方法可以做到这一点(因此无需自己编辑或修补 CMakeLists.txt 文件)?感谢您提供任何见解!

最佳答案

删除链接器-nodefaultlib选项;这可以在 IDE GUI 中的 Linker/Input/Ignore All Default Libraries/No

中进行设置

关于c - Windows cmake 找不到 memset 或其他标准函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638613/

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