JNI
으로 원시 코드를 사용하는 Java 응용 프로그램을 개발 중이므로 C shared library
을 Linux Redhat에서 Eclipse with the CDT plugin
을 사용하여 개발했습니다. Java 응용 프로그램을 시작하고 아무런 문제없이 원시 메소드를 호출 할 수 있기 때문에 모든 것이 잘 작동합니다. 하지만 제 문제는 모든 플랫폼에서 내 코드를 컴파일해야한다는 것입니다. (Linux, Windows, x86/x64)
. libXXX.so
파일을 얻는 것도 문제가 아니지만 Windows에서 실행하려면 .dll
이 필요합니다. 단지 내 코드를 컴파일 할 수 없다는 것만 제외하면 이클립스를 사용하여 Linux에서 로컬로 할 수있는 방법이 필요합니다. 그래서 크로스 컴파일을 사용하여 이클립스로 로컬로 할 수있는 간단한 솔루션을 찾고있다.Eclipse를 사용하는 C 응용 프로그램 용 교차 컴파일
몇 가지 조사를 해봤지만 특정 플랫폼에서 컴파일 할 때마다 실제 튜토리얼을 통해 설명하는 방법을 찾을 수 없습니다. 그래서 누군가가 이것으로 나를 도울 수 있다면 그것은 위대 할 것입니다.
내 구성은 다음과 같습니다 리눅스 레드햇, 이클립스 주노, CDT 플러그인 8.1
어쨌든 대상 플랫폼에서 테스트 및 디버깅해야 할 필요가 있습니다. 그렇다면 크로스 컴파일을 귀찮게하는 이유는 무엇입니까? 컴파일러를 실행할 수없는 임베디드 시스템을 목표로하는 것과는 다릅니다. –
네이티브 코드가 약간 있고 다른 컴퓨터에서 여러 컴파일 작업을 피하고 싶을 때 유용합니다 (물론 컴파일러를 설치할 수있는 경우). 그리고 약간의 수정이 필요한 경우, 코드를 변환하고, Windows 컴퓨터를 찾고, 코드를 컴파일하고, DLL을 가져 와서 프로젝트에 넣고, 마지막으로 응용 프로그램을 테스트하여 잊어 버렸음을 발견하는 USB 스틱이 필요합니다 printf와 그것을 모두 다시해야합니다. 그래서 동시에 같은 컴퓨터에있는 리눅스와 윈도우 모두를 컴파일하는 것이 가능하다면, 그것은 아주 좋을 것입니다. – AwaX
같은 컴퓨터에서 컴파일 할 수 있으며, 가상 머신을 설정하면됩니다. –