gpt4 book ai didi

c++ - 雕刻 1.4 CSG - C2375 : 'cbrt' : redefinition; different linkage

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

我正在尝试编译 Carve 1.4 c++ 库。但不断得到

C2375: 'cbrt' : redefinition; different linkage 

错误。

当我点击一个错误时,它会将我带到 math.h 中的这一行:

_CRTIMP double __cdecl cbrt(_In_ double _X);

我能找到的唯一其他 cbrt 函数与名为 cbrt.h 的库附带的头文件中的这一行有关:

inline double cbrt(double x)

我不确定要更改什么才能使其正常工作。有什么想法吗?

我使用 CMAKE 3.0.2 和 VS 12 2013 生成器生成了 carve-1.4 vcxproj 文件。

我正在使用 boost 1.56、CMAKE 3.0.2、VS 12 2013、windows 7。

对于 CMAKE,对于 Carve 1.4,我关闭了“build_shared_libs”,并添加了与“cmake_exe_linker_flags”相同的“cmake_static_linker_flags”....

CMAKE_STATIC_LINKER_FLAGS                /machine:X86 

CMAKE_STATIC_LINKER_FLAGS_DEBUG /debug /INCREMENTAL

CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL /INCREMENTAL:NO

CMAKE_STATIC_LINKER_FLAGS_RELEASE /INCREMENTAL:NO

CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO /debug /INCREMENTAL

在此先感谢您的帮助。

最佳答案

问题是 cbrt is defined here作为

inline double cbrt(double x)

在 math.h 中作为

_CRTIMP double __cdecl cbrt(_In_ double _X);

定义必须匹配,但不幸的是这是一个 still standing issue .

作为解决方法,您可以自己修复库或执行 as point 1 of this answer describes .

关于c++ - 雕刻 1.4 CSG - C2375 : 'cbrt' : redefinition; different linkage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718972/

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