2013-04-07 3 views
0

내 학교 프로젝트에 대한 C/C + + 코드 테스트 matlab에 오전 및 C/C++ 코드 및 Visual Studio 내에서 정적 라이브러리를 사용하는 방법을 모르겠다 내 matlab 함수는matlab에 C 코드 생성 워크 플로우

같이 간단합니다
function c = simpleProduct(a,b) %#codegen 
c=a*b; 

그리고 난 내에서 Win32 프로젝트에 대한 C/C++ 코드 (정적 라이브러리)를 생성하는 MATLAB 코더를 사용하지만, 일이, simpleproduct simpleproduct.c했다 을 찾고있는 것보다 다른 많은 파일을 생성합니다. h, simpleproduct.lib하지만 대신 이걸 얻습니다. 내가 simpleProduct.h 사용이

real32_T value=simpleproduct(10,10); 

같은 기능을 simpleproduct 전화 이제까지는 저에게이 오류를 제공 할 때

rt_nonfinite.h 
rtGetInf.h 
rtGetNaN.h 
rtwtypes.h 
simpleProduct_types.h 
rt_nonfinite.cpp 
rtGetInf.cpp  
rtGetNaN.cpp 
rtwtypes.cpp 
simpleProduct.obj 
rt_nonfinite.obj 
rtGetNaN.obj 
rtGetInf.obj 
simpleProduct_types.cpp 
simpleProduct.lib ------- my static library. 
and others... 

는하지만 것입니다. 심지어 링커에 대한 .lib 파일을 추가합니다. 왜 이런 일이 일어 났습니까?

Error 1 error LNK2019: unresolved external symbol "float __cdecl simpleProduct(float,float)" ([email protected]@[email protected]) referenced in function main c:\Users\serakpc\documents\visual studio 2012\Projects\matlabCoder\debugger\Source.obj debugger 

플러스 누군가가 윈도우 OS 일반적인 PC 용 MATLAB 코더 구성에 나를 도와 주면 내가 감사하겠습니다. 예를 들어, 내가 "코드 교체 라이브러리"와 "하드웨어 공급 업체"를 사용하는 것이 좋습니다.

+0

호출에서 (10,10)은 정수로 처리 될 수 있으며 컴파일러는 정수를 사용하는 함수를 찾고있을 수 있습니다. 이것을 명시 적으로 부동 상태로 만들거나 10.0을 사용하십시오. – Navan

답변

0

해결 방법은 matlab 코드 만 생성을 확인하고 처음부터 정적 프로젝트를 생성하고 생성 된 코드를 사용하여 컴파일합니다. 시각적 인 C++. 일부 포럼에서이 솔루션을 발견하고 작동합니다. 나는 matlab에 리눅스 용 라이브러리를 컴파일한다고 생각한다.

+0

Visual C++ 컴파일러에서만 작동합니까? 나는 MinGW64 컴파일러가 있고 동일한 오류가 발생합니다! –

관련 문제