LIBS/DLLS 사용 Linux/Mingw에서 Visual Studio에서 컴파일
-
18-09-2019 - |
문제
업데이트 : 컴파일 할 때이 경고를받습니다 : 다중 '.Text'섹션은 다른 속성으로 찾았습니다.
안녕,
Mingw 크로스 컴파일러를 사용하여 Linux에서 일부 라이브러리 (.a 및 .dll)를 컴파일했습니다. Visual Studio 2008에서 그들과 성공적으로 연결할 수 있습니다. 그러나 (.dll을 사용) 실행되면 빈 메모리 주소로 주소 포인터를 가리킬 수 있습니다.
VC08에서 해당 라이브러리를 성공적으로 사용할 수있는 방법/목록이 있습니까?
크로스 컴파일러가 생성됩니다
- *.dll.a
- *.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();
};
제휴하지 않습니다 StackOverflow