문제

업데이트 : 컴파일 할 때이 경고를받습니다 : 다중 '.Text'섹션은 다른 속성으로 찾았습니다.

안녕,

Mingw 크로스 컴파일러를 사용하여 Linux에서 일부 라이브러리 (.a 및 .dll)를 컴파일했습니다. Visual Studio 2008에서 그들과 성공적으로 연결할 수 있습니다. 그러나 (.dll을 사용) 실행되면 빈 메모리 주소로 주소 포인터를 가리킬 수 있습니다.

VC08에서 해당 라이브러리를 성공적으로 사용할 수있는 방법/목록이 있습니까?

크로스 컴파일러가 생성됩니다

  1. *.dll.a
  2. *.dll

감사

도움이 되었습니까?

해결책

그것을 발견.

http://www.mingw.org/wiki/msvc_and_mingw_dlls

DEF 파일이 있어야하고 VC의 LIB 도구를 사용하여 가져 오기 라이브러리를 생성해야합니다.

다른 팁

두 당사자가 동일한 통화 협약을 사용하지 않는 것처럼 들립니다. 즉, 내보내는 DLL 기능이 정의 된 방식에 문제가 있습니다.

지금까지 가장 간단한 접근법은 기능을 다음과 같이 정의하는 것입니다. extern "c" 내보내기 기능을 다음과 같이 정의함으로써 :

extern "C"
{
  int  MyExportedFunction(char *buffer, int length);
  void MyOtherFunction();
};
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top