2013-09-30 3 views
0

하나의 파일로 모든 플랫폼에서 작동하도록 교차 플랫폼 라이브러리를 컴파일하는 방법이 있습니까?하나의 파일이 모두 포함 된 교차 플랫폼 라이브러리

내가보기에 (주로?) Windows는 DLL과 다른 플랫폼이 각각 다른 파일을 사용한다는 것을 보았습니다.

왜 표준화되지 않았습니까? 대신 사용할 수있는 표준 형식이 있습니까? 그렇지 않으면 위조 될 수 있습니까?

여러 질문에 대해 죄송합니다. 그러나 여러 질문에 답변 해 주시면 답변 해 주시면 다른 답변이 무효화됩니다.

답변

0

IDK 왜 객체 파일이 (비록 당신이 crosscompilation afaik를 위해 GCC를 사용할 수는 있지만) IDAK되어 있긴하지만 현재로서는 가능한 크로스 플랫폼 솔루션이 소스입니다 (아는 한). 예를 들어, CImg은 단일 헤더 파일 (40kb)로 제공되지만 일부 종속성이 있기 때문에 백엔드 이미지 처리 라이브러리/toolchain이 필요합니다. 확실하지는 않지만 크로스 플랫폼 정적 객체 형식이있을 수 있습니다.

1

라이브러리에는 플랫폼의 아키텍처에 따라 실제로 컴파일 된 코드가 들어 있습니다. 컴퓨터 아키텍처에서 큰 선수들간에 표준 계약이 없기 때문에 라이브러리가 플랫폼간에 이식 가능하지 않다는 불행한 결과가 있습니다.

가장 좋은 방법은 소스 코드를 열고 사용자가 원하는 플랫폼에서 코드를 컴파일하도록하는 것입니다.

두 번째로 좋은 옵션은 Java 방식입니다. 클래스 파일을 포함하는 jar 파일 형식으로 라이브러리를 배포하십시오. 그리고 사용자가 자신의 플랫폼에 적합한 JRE를 설치하게하십시오.

불행히도 다른 옵션을 모르겠습니다.

+0

충분합니다. 나는 현재 내가하고있는 일에 충실해야한다고 생각한다 : 각 프로젝트에 소스 코드를 포함시킨다. –

관련 문제