2014-11-03 22 views
1

Carve 1.4 C++ 라이브러리를 컴파일하려고합니다. 계속 받고 있습니다조각 1.4 CSG - C2375 : 'cbrt': 재정의; 다른 연결

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 파일을 생성했습니다. 내가 부스트 1.56, CMAKE 3.0.2을 사용하고

, VS (12) 2013, 윈도우 CMAKE와

7. 개척 1.4 내가 'build_shared_libs'꺼져 내가 추가 한 'cmake_static_linker_flags'할 수 'cmake_exe_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 

미리 도움을 청하십시오.

답변

0

문제는 is defined here

inline double cbrt(double x) 

로하고 math.h에
_CRTIMP double __cdecl cbrt(_In_ double _X); 

CBRT 정의가 일치해야한다는 것입니다하지만 불행히도 이것은 still standing issue이다.

해결 방법으로 직접 라이브러리를 수정하거나 as point 1 of this answer describes을 수행 할 수 있습니다.